{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "c7928ef7",
   "metadata": {},
   "source": [
    "# request测试"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "fb9c67d8",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 导入requests模块\n",
    "import requests"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "6d216246",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 反映状态码\n",
    "r = requests.get(\"https://cn.bing.com/search?q=api\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "779341b4",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Response [200]>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a23adabd",
   "metadata": {},
   "source": [
    "## 二进制响应内容\n",
    "- bytes \n",
    "- content 可以识别任何格式的网页的数据 但是不利于分析 (但不包括流媒体：图片、视频、音频)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "db3c0ec2",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "b'<!DOCTYPE html><html dir=\"ltr\" lang=\"zh\" xml:lang=\"zh\" xmlns=\"http://www.w3.org/1999/xhtml\" xmlns:Web=\"http://schemas.live.com/Web/\"><script type=\"text/javascript\" >//<![CDATA[\\r\\nsi_ST=new Date\\r\\n//]]></script><head><!--pc--><title>api - \\xe6\\x90\\x9c\\xe7\\xb4\\xa2</title><meta content=\"text/html; charset=utf-8\" http-equiv=\"content-type\" /><meta name=\"referrer\" content=\"origin-when-cross-origin\" /><link href=\"/search?format=rss&amp;q=api\" rel=\"alternate\" title=\"XML\" type=\"text/xml\" /><link href=\"/search?format=rss&amp;q=api\" rel=\"alternate\" title=\"RSS\" type=\"application/rss+xml\" /><link href=\"/sa/simg/favicon-white-bg-blue-mg.ico\" rel=\"shortcut icon\" /><script type=\"text/javascript\">//<![CDATA[\\n_G={Region:\"CN\",Lang:\"zh-CN\",ST:(typeof si_ST!==\\'undefined\\'?si_ST:new Date),Mkt:\"zh-CN\",RevIpCC:\"cn\",RTL:false,Ver:\"11\",IG:\"684A100419174178AD1FB34F35F36257\",EventID:\"6ADD61EA796D425092E739668CA3045B\",V:\"web\",P:\"SERP\",DA:\"MWHE01\",CID:\"261E8368C99060E32E17920BC8F6615B\",SUIH:\"NDpXQ_JxwlNS3davG-09UQ\",adc:\"b_ad\",EF:{bmasynctrigger:1,chevroncheckmousemove:1},gpUrl:\"\\\\/fd\\\\/ls\\\\/GLinkPing.aspx?\" }; _G.lsUrl=\"/fd/ls/l?IG=\"+_G.IG+\"&CID=\"+_G.CID ;curUrl=\"https:\\\\/\\\\/cn.bing.com\\\\/search\";function si_T(a){ if(document.images){_G.GPImg=new Image;_G.GPImg.src=_G.gpUrl+\\'IG=\\'+_G.IG+\\'&CID=\\'+_G.CID+\\'&\\'+a;}return true;}_G.NTT=\"600000\";_G.CTT=\"3000\";;/*!DisableJavascriptProfiler*/\\r\\n0;\\r\\n;/*!DisableJavascriptProfiler*/\\n0;/*!DisableJavascriptProfiler*/\\r\\n0;\\r\\n;\\n//]]></script><style type=\"text/css\">a{z:1}a{z:1}.sw_ddbk:after,.sw_ddw:after,.sw_ddgn:after,.sw_poi:after,.sw_poia:after,.sw_play:after,.sw_playa:after,.sw_playd:after,.sw_playp:after,.sw_st:after,.sw_sth:after,.sw_ste:after,.sw_st2:after,.sw_plus:after,.sw_tpcg:after,.sw_tpcw:after,.sw_tpcbk:after,.sw_arwh:after,.sw_close:after,.sb_pagN:after,.sb_pagP:after,.sw_up:after,.sw_down:after,.b_expandToggle:after,.sw_calc:after,.sw_fbi:after,.sw_twi:after,.b_fLogo:after,.b_cm:after,.sw_rmore:after,.sw_tpo:after,.sw_tpoa:after,.sw_lpoi:after,.sw_skp:after{position:relative}.sw_ddbk:after,.sw_ddw:after,.sw_ddgn:after,.sw_poi:after,.sw_poia:after,.sw_play:after,.sw_playa:after,.sw_playd:after,.sw_playp:after,.sw_st:after,.sw_sth:after,.sw_ste:after,.sw_st2:after,.sw_plus:after,.sw_tpcg:after,.sw_tpcw:after,.sw_tpcbk:after,.sw_arwh:after,.sw_close:after,.sb_pagN:after,.sb_pagP:after,.sw_up:after,.sw_down:after,.b_expandToggle:after,.sw_calc:after,.sw_fbi:after,.sw_twi:after,.b_fLogo:after,.b_cm:after,.sw_rmore:after,.sw_tpo:after,.sw_tpoa:after,.sw_lpoi:after,.sw_skp:after{content:url(/rp/i3t3vGbFsQ-XpUOCob6i88omBUs.png)}.sw_ddbk,.sw_ddw,.sw_ddgn,.sw_poi,.sw_poia,.sw_play,.sw_playa,.sw_playd,.sw_playp,.sw_st,.sw_sth,.sw_ste,.sw_st2,.sw_plus,.sw_tpcg,.sw_tpcw,.sb_clrhov,.sw_arwh,.sb_pagN,.sb_pagP,.sw_up,.sw_down,.b_expandToggle,.sw_calc,.sw_fbi,.sw_twi,.b_fLogo,.b_cm,.sw_rmore,.sw_tpo,.sw_tpoa,.sw_lpoi,.sw_skp,.actExpander span{position:relative;display:inline-block;overflow:hidden;direction:ltr}.sw_ddbk:after,.sw_ddw:after,.sw_ddgn:after,.sw_poi:after,.sw_poia:after,.sw_play:after,.sw_playa:after,.sw_playd:after,.sw_playp:after,.sw_st:after,.sw_sth:after,.sw_ste:after,.sw_st2:after,.sw_plus:after,.sw_tpcg:after,.sw_tpcw:after,.sw_tpcbk:after,.sw_arwh:after,.sb_pagN:after,.sb_pagP:after,.sw_up:after,.sw_down:after,.b_expandToggle:after,.sw_calc:after,.sw_fbi:after,.sw_twi:after,.b_fLogo:after,.b_cm:after,.sw_rmore:after,.sw_tpo:after,.sw_tpoa:after,.sw_lpoi:after,.sw_skp:after{display:inline-block;transform:scale(.5)}.sw_tpcg,.b_expandToggle,.b_fLogo{display:block}.sw_play,.sw_playa,.sw_playd,.sw_playp,.sw_skp,.sw_fbi,.sw_twi{height:16px;width:16px}.sw_play:after{transform-origin:-630px -44px}.sw_playa:after{transform-origin:-666px -44px}.sw_playd:after{transform-origin:-702px -44px}.sw_playp:after{transform-origin:-738px -44px}.sw_skp:after{transform-origin:-1290px -36px}.sw_fbi:after{transform-origin:-594px -44px}.sw_twi:after{transform-origin:-1290px 0}.sw_st,.sw_sth,.sw_ste,.sw_st2{height:12px;width:12px}.sw_st:after{transform-origin:-1070px -62px}.sw_st2:after{transform-origin:-1126px -62px}.sw_sth:after{transform-origin:-1154px -62px}.sw_ste:after{transform-origin:-1098px -62px}.sw_arwh{height:11px;width:14px}a:hover .sw_arwh.b_invert:after{transform-origin:-926px -64px}.sw_arwh:after{transform-origin:-894px -64px}.sw_ddbk,.sw_ddw,.sw_ddgn{height:4px;width:7px}.sw_ddbk:after,.sw_ddw:after{transform-origin:-532px -64px}.sw_ddgn:after{transform-origin:-512px -64px}.sw_tpcg,.sw_tpcw,.sw_tpcbk{height:10px;width:10px}.sw_tpcg:after,.sw_tpcw:after,.sw_tpcbk:after{transform-origin:-352px -64px}.sw_tpcg:hover:after,.sw_tpcg:active:after,.sw_tpcg:focus:after{-webkit-transform-origin:-376px -64px;-ms-transform-origin:-376px -64px;transform-origin:-376px -64px}.sw_plus{height:8px;width:8px}.sw_plus:after{transform-origin:-552px -64px}.sw_plus:hover:after,.sw_plus:active:after,.sw_plus:focus:after{transform-origin:-572px -64px}.b_expandToggle,.sw_up,.sw_down{height:8px;width:12px}.b_expandToggle:after,.sw_up:after,.sw_down:after{transform-origin:-456px -64px}.sw_up:after{transform-origin:-400px -64px}*:hover>.sw_up:after,*:active>.sw_up:after,*:focus>.sw_up:after{transform-origin:-428px -64px}*:hover>.sw_down:after,*:active>.sw_down:after,*:focus>.sw_down:after{transform-origin:-484px -64px}.b_icon,.sw_poi,.sw_poia{width:20px;height:20px;z-index:0}.sw_poi:after,.sw_poia:after{position:absolute;top:0;left:0;transform-origin:-594px 0;z-index:-1}.sw_poia:after{transform-origin:-638px 0}.b_fLogo{height:16px;width:81px}.b_fLogo:after{transform-origin:-804px 0}.b_cm{height:10px;width:12px}.b_cm:after{transform-origin:-866px -64px}.sw_calc{height:19px;width:19px}.sw_calc:after{transform-origin:-726px 0}.sw_tpo,.sw_tpoa,.sw_rmore{height:12px;width:8px;display:block}.sw_tpo:after,.sw_tpoa:after{transform-origin:-262px -50px}.sw_rmore:after{transform-origin:-242px -50px}.sw_lpoi{height:16px;width:10px}.sw_lpoi:after{transform-origin:-1266px -36px}html,body #b_results .b_no{background-color:#fff}.b_footer{background-color:#f5f5f5}#b_results>li a{color:#001ba0}#b_results>li a:visited{color:#600090}#b_results>li{background-color:#fff}#b_results>.b_ad a{color:#001ba0}#b_results>.b_ad a:visited{color:#600090}#b_results>.b_pag{background-color:transparent}#b_results>.b_pag a:hover{background-color:#f4f4f4}#b_results>.b_pag .sb_pagS_bp:hover{background-color:#fff}#b_results>.b_pag a.sb_pagP:hover,#b_results>.b_pag a.sb_pagN:hover{background-color:inherit}#b_context .b_ans,#b_context #wpc_ag{background-color:#fff}#b_context>li.b_ad{color:#666;background-color:#fff}#b_context>li.b_ad a{color:#001ba0}#b_context>li.b_ad a:visited{color:#600090}div.b_dropdown .b_selected{background:#e1e0df}#b_tween .b_toggle:hover,#b_tween .ftrH:hover{background:#f2f2f2}.b_scroll{background:#999;border-color:#999}.b_scroll:hover{background:#4d4d4d}.b_dropdown{background-color:#fff;border-color:#e5e5e5}.ctxt,select,input[type=\"text\"]{color:#444;border-color:#ddd}.ccal{border-color:#ddd}.ccal:hover,.ctxt:hover,select:hover,input[type=\"text\"]:hover{box-shadow:0 1px 2px 0 rgba(0,0,0,.1);-webkit-box-shadow:0 1px 2px 0 rgba(0,0,0,.1)}.ctxt:focus,select:focus,input[type=\"text\"]:focus{color:#444;border-color:#919191;box-shadow:0 1px 2px 0 rgba(0,0,0,.1);-webkit-box-shadow:0 1px 2px 0 rgba(0,0,0,.1)}.ccal input[type=\"text\"],.ccal input[type=\"text\"]:hover,.ccal input[type=\"text\"]:focus{color:#444}.ccal.ccal_rfs input[type=\"text\"],.ccal.ccal_rfs input[type=\"text\"]:hover,.ccal.ccal_rfs input[type=\"text\"]:focus{color:#666}label{color:#767676}#b_results ::placeholder{color:#767676;opacity:1}#b_results :-ms-input-placeholder{color:#767676}#b_results ::-webkit-input-placeholder{color:#767676}#b_results input[type=\"text\"]:disabled{color:#ccc}a,#b_tween a:visited,#b_results .b_no a{color:#001ba0}a:visited,#b_results>li a:visited{color:#600090}cite,#b_results cite.sb_crmb a,#b_results cite a.sb_metalink,#b_results .b_adurl cite a,#bk_wr_container cite a{color:#006d21}.trgr_icon .c_tlbxTrgIcn.sw_css{border-color:#006621 transparent}.b_posText{color:#006d21}.b_negText{color:#c80000}#b_context cite,#b_context cite a{color:#006d21}#b_context .b_posText{color:#006d21}#b_context .b_negText{color:#c80000}.b_ad cite,.b_ad cite a{color:#006d21}#b_context .b_entityTitle,#b_results .b_entityTitle{color:#444}#b_context .b_entitySubTitle,#b_results .b_entitySubTitle{color:#767676}#b_context,#b_context #wpc_eif{color:#666}body,.b_promoteText,#b_tween a.ftrH,#b_tween a.ftrH:hover,.b_expando,.b_expando h2,.b_active a,.b_active a:visited,.b_active a:hover,#b_results>.b_pag a,#b_results .b_no,#b_content a.cbl:visited,#b_content a.cbl{color:#666}#b_results>.b_pag .sb_pagS_bp{color:#111}.b_top,.b_top .b_promoteText{color:#444}.b_alert,.b_pAlt{color:#d90026}#b_results .b_alert,#b_results .b_pAlt{color:#d90026}#b_context .b_alert{color:#d90026}.b_demoteText,.b_secondaryText,.b_attribution,.b_factrow,.b_focusLabel,.b_footnote,.b_ad .b_adlabel,#b_tween .b_dropdown a,.b_expando .b_subModule,.b_expando .b_suppModule,.b_algo .b_vList td{color:#767676}.b_algo .b_factrow{color:#666}.b_footer,.b_footer a,.b_footer a:visited{color:#666}#b_content .b_lowFocusLink a,#b_context .b_secondaryText,#b_context .b_attribution,#b_context .b_factrow,#b_context .b_footnote,#b_context .b_ad .b_adlabel,.b_expando .b_secondaryText,.b_expando .b_attribution,.b_expando .b_factrow,.b_expando .b_footnote{color:#767676}#b_context .b_footnote a,.b_promtext{color:#111}#b_context .b_pointer.b_mhdr:hover .b_secondaryText{color:#36b}.b_button:hover,.b_button:visited,.b_hlButton,.b_hlButton:hover,.b_hlButton:visited,.b_foregroundText,.ciot{color:#fff}.b_caption,.snippet{color:inherit}.b_top .b_caption{color:inherit}.ciot{background-color:#000}.b_button:hover,.b_hlButton{background-color:#0072c5}.b_button:active,.b_hlButton:active{background-color:#333}.b_hlButton:hover{background-color:#006887}.b_border,.b_button,.b_hlButton{border-color:#ccc}.b_pag a{border:3px solid transparent}.b_pag a.sb_bp{border:0;border-bottom:3px solid transparent}.b_pag .sb_pagS{border-color:#00809d}.b_pag a.sb_pagS_bp{border-color:#00809d}#b_context .b_subModule,#b_results .b_subModule{border-bottom:1px solid #ececec}#b_results .b_sideBleed:last-child .b_subModule{border-bottom:0}.b_subModule h2{color:#111}.c_tlbx{border-color:#999;background:#fff}.sw_poi{color:#fff}.sw_poia{color:#fff}.b_caption p strong,.b_caption .b_factrow strong,.b_secondaryText strong{color:#767676}.b_belowcaption .b_secondaryText{color:#767676 !important}z{a:1}#sp_requery strong,#sp_recourse strong,#tile_link_cn strong,.b_ad .ad_esltitle~div strong,h2 strong,.b_caption p strong,.b_snippetBigText strong,.recommendationsTableTitle+.b_slideexp strong,.recommendationsTableTitle+table strong,.recommendationsTableTitle+ul strong,.pageRecoContainer .b_module_expansion_control strong,.pageRecoContainer .b_title>strong,.b_rs strong,.b_rrsr strong,#dict_ans strong,.b_listnav>.b_ans_stamp>strong,#b_content #ans_nws .na_cnt strong,.adltwrnmsg strong{color:#c00;font-weight:normal}#b_results>.b_ad{color:#666;background-color:#f9fcf7}#b_results,#b_results .b_defaultText,#b_results>.b_pag a:hover,#b_tween .b_toggle:hover,#b_tween .b_highlighted{color:#666}html,body,h1,h2,h3,h4,h5,h6,p,img,ol,ul,li,form,table,tr,th,td{border:0;border-collapse:collapse;border-spacing:0;list-style:none;margin:0;padding:0}html{overflow-y:scroll}#b_content{clear:both;min-height:316px;padding:41px 0 20px var(--lgutter)}#b_pole{margin:-25px 0 15px var(--lgutterrev);padding-left:var(--polepadl)}#b_tween:not(.b_hide)~#b_pole{margin-top:3px}.b_underSearchbox~#b_pole{margin-top:0}#b_context{margin:0 0 0 var(--rgutter);padding:0 20px}#b_context .b_ans,#b_context .b_ad{margin:0 -20px}#b_context .b_ans{padding:10px 20px 0}#b_context .b_ad{padding:10px 20px}#b_results,#b_context,#b_tween>span,.b_hList>li,.c_tlbxTrg,.b_hPanel>span,.ccal .ccali,.b_footerRight,.b_hPanel .b_xlText,.b_hPanel .cico,.b_moreLink,.b_label+.b_hList,.lc_bks,.lc_bkl,.fiw,.csrc,.b_algo .b_title H2,.b_algo .b_title>div,.b_algo .b_title .b_suffix>div,h3{display:inline-block}.b_pointer{cursor:pointer}label,.b_ad .b_adlabel,.c_tlbxTrgIcn{display:block}#b_tween{margin-top:-28px}.b_underSearchbox~#b_tween{margin-top:-2px}#b_tween,#b_tween .ftrH{height:30px}#b_tween>span{padding-right:25px}#b_results>li{padding:10px 20px;margin:0 0 2px}#b_results>.b_ans{padding:12px 20px 0}#b_results>.b_algo{padding:12px 20px 0}#b_results>li .b_fullb{margin-left:-20px;margin-right:-20px}#b_results>.b_ad{padding-right:18px;border-right:2px solid #e5e5e5}#b_results>li:first-child{padding-top:10px}#b_results>.b_pag{padding:26px 0 26px 20px}.sb_hbop,.b_hide,.ttl,#sw_tfbb,.sw_next,.sw_prev,#id_d,.b_hidden img{display:none}.b_hidden{visibility:hidden}#b_context .b_ans{margin-bottom:5px}#b_context .b_ad{margin-bottom:5px}main,aside,.b_inlineList li,.b_factrow li{display:inline}.b_footerRight,td,th,#b_context,.b_hList>li{vertical-align:top}.b_footer{width:100%;padding:12px 0}.c_tlbxTrg{width:15px;height:14px;margin:-1px 6px -3px 2px}.c_tlbxTrgIcn{margin:4px 0 2px 3px}.c_tlbx{position:absolute;z-index:6;border:1px solid;padding:10px}.b_deep ul{width:230px}.b_gridList ul:first-child,.b_vlist2col ul:first-child{margin:0 20px 0 0}.b_gridList li,.b_vlist2col li{padding:0 0 10px}.b_vlist2col.b_deep li{padding:0 0 10px}.b_overhangR .b_vlist2col ul:first-child{margin:0 15px 0 0}.b_overhangR .b_vlist2col ul{width:180px}.b_deep p{height:33px}#b_context .b_ad .b_adlabel,.sc_rf form,form.sc_rf{margin-bottom:10px}.b_ad li,#b_results .b_ad .b_adlabel{margin-bottom:8px}.b_ad li:last-child{margin-bottom:0}.b_ad li li,.b_ad li li:last-child{margin:0}#b_results .b_ad .b_vlist2col,#b_results .b_ad .b_factrow,#b_results .b_ad .b_bcfactrow{margin-top:-6px}#b_results .b_ad .sb_adRA .b_vlist2col{padding-left:0}.sx_ci{border:1px solid #e5e5e5;margin-top:3px;width:80px;height:60px}.b_favicon{margin:0 .5em 0 0}.b_imagePair:after,.b_vlist2col:after,.b_gridList:after{clear:left}.b_imagePair.reverse:after,.b_overhangR:after{clear:right}.b_clear,#b_results>li:after,.b_clearfix:after{clear:both}#b_results>li:after,.b_clearfix:after,.b_imagePair:after,.b_vlist2col:after,.b_gridList:after,.b_overhangR:after{content:\\'.\\';display:block;height:0;visibility:hidden}.b_vlist2col ul,.b_gridList ul,.b_float,.b_footer,.b_float_img,.b_pag li,.b_mhdr h2{float:left}.b_floatR_img,.b_floatR,.wr_tc{float:right}.b_overflow,.b_hList li,.b_1linetrunc,.b_deep p{overflow:hidden}.b_creditedImg img,.b_creditedImg .cico{padding-bottom:1px}h4,.sa_uc>.b_vList>li>table td,.b_smBottom,#b_context .b_ad h2,.b_attribution,.b_focusTextExtraSmall,.b_snippet{padding-bottom:2px}.b_focusLabel,.b_secondaryFocus,.b_focusTextLarge,.b_focusTextMedium,.b_focusTextSmall{padding-bottom:4px}.b_factrow{padding-bottom:2px}h2,label{padding-bottom:3px}.b_vPanel .b_vPanel>div,.b_vList .b_vPanel>div{padding-bottom:5px}.b_dataList li,.b_mBottom{padding-bottom:5px}.b_lBottom,.b_entitySubTitle{padding-bottom:12px}#b_context .b_subModule h2,#b_results .b_subModule h2{padding-bottom:16px}#b_results #sp_recourse.b_lBottom,.b_caption,.b_moreLink,.b_footnote,.b_hList>li,#b_context h2,#b_context h2.b_entityTitle,#b_results .b_ad .b_factrow,#b_results .b_ad .b_bcfactrow,.b_expando h2,.b_no h1,.b_no h4,.b_no li,.b_prominentFocusLabel,.b_locStr{padding-bottom:10px}.b_vPanel>div,.b_vList>li{padding-bottom:10px}.b_vList .b_hList>li,.b_vPanel .b_hList>li,.b_vList .b_float_img,.b_creditedImg .b_footnote,.b_creditedImg .cico img,#b_results>.b_ad,.b_suppModule .b_mhdr,.b_vList>li>.tab-container,.b_vPanel>div>.tab-container,.b_ad .b_deep h3,#b_content .b_float_img_nbp{padding-bottom:0}.b_caption .b_factrow:last-child,#b_results .b_caption .b_factrow:last-child,.b_caption>.b_dataList:last-child li:last-child,.b_caption .b_moreLink:last-child,.b_vList .b_moreLink:last-child,.b_vList .b_factrow:last-child,.b_vPanel .b_factrow:last-child,.b_caption .b_attribution:last-child,.b_vList .b_attribution:last-child,.b_hList .b_attribution:last-child,.b_vPanel .b_attribution:last-child,.b_vList>li>table:last-child tr:last-child td,.b_vPanel>div>table:last-child tr:last-child td,.b_vList .b_focusLabel:last-child,.b_vPanel .b_focusLabel:last-child,.b_vList .b_secondaryFocus:last-child,.b_vPanel .b_secondaryFocus:last-child,.b_vList .b_focusTextExtraSmall:last-child,.b_vPanel .b_focusTextExtraSmall:last-child,.b_vList .b_focusTextSmall:last-child,.b_vPanel .b_focusTextSmall:last-child,.b_vList .b_focusTextMedium:last-child,.b_vPanel .b_focusTextMedium:last-child,.b_vList .b_focusTextLarge:last-child,.b_vPanel .b_focusTextLarge:last-child,.b_vList h4:last-child,.b_vPanel h4:last-child,.b_vPanel .b_caption:last-child,.b_vPanel .b_vList:last-child>li:last-child,.b_vPanel .b_footnote:last-child{padding-bottom:0}.b_vList .b_vPanel,.b_vPanel .b_vPanel{margin-bottom:-5px}.b_hList .b_vPanel{margin-bottom:-10px}.b_mBMargin{margin-bottom:5px}#b_results .b_no{margin:0 0 80px}.b_rich{padding-top:3px}h2+.b_rich,.btitle+.b_rich{padding-top:2px}.b_algo .b_attribution img{vertical-align:text-bottom}.b_lLeft,.b_floatR_img,.b_suffix{padding-left:10px}.wr_tc,.b_xlLeft,.b_deep,#b_results .b_ad .b_vlist2col,#b_tween{padding-left:20px}h2 .b_secondaryText{margin-left:5px}.b_hList.b_imgStrip>li{padding-right:1px}.fiw,.lc_bkl,.b_mRight,.b_label,.csrc{padding-right:5px}.b_lRight,.b_imgStrip .imgData,.b_underSearchbox .b_label{padding-right:10px}.b_hPanel>span,.b_hList>li{padding-right:10px}.b_xlRight{padding-right:20px}.b_hList.b_imgStrip>li:last-child,.b_hList>li:last-child,.b_hPanel>span:last-child,td:last-child,th:last-child,#b_tween>span:last-child{padding-right:0}.b_overhangR{margin-right:-30px;padding-right:150px}.wr_tc{margin-right:-150px}.b_tbl{margin-right:-10px}.b_border,.b_button,.b_hlButton,.b_scroll,.b_dropdown{border-width:1px;border-style:solid}.b_button,.b_hlButton{line-height:30px;text-decoration:none;text-align:center;cursor:pointer;padding:0 15px;min-width:50px}.lc_bks .cbtn{margin-top:15px}#b_context .b_subModule,#b_results .b_subModule,.b_expando .b_subModule{padding:0 19px 0 19px;margin-bottom:16px}#b_context .b_subModule .b_lBottom.lo_im_ov{padding-bottom:0;margin-bottom:12px}#b_results .b_sideBleed:last-child .b_subModule{margin-bottom:0}.b_dropdown{position:absolute;z-index:6}.b_scroll{position:relative;top:0;width:5px;height:20px}.b_mhdr{margin:-15px 0 -5px;padding:15px 0 5px}.b_mhdr .sw_up,.b_mhdr .sw_down{margin-top:10px}.b_mhdr .b_moreLink,.b_mhdr .b_secondaryText{margin-top:6px}.b_vPanel .sc_rf form,.b_suppModule .b_mhdr{margin-bottom:0}.b_rTxt{text-align:right}.b_cTxt{text-align:center}table{width:100%;word-wrap:break-word}td,th,.b_float_img{padding:0 10px 10px 0}th{text-align:left}.sw_poi,.sw_poia{float:left;margin:-3px 5px 0 0;line-height:20px;text-align:center}.ctxt,select,input[type=\"text\"]{outline:none;padding:0 11px;height:30px;border-width:1px;border-style:solid;border-radius:2px}.ctxt.b_focusTextMedium{padding:3px 11px 8px 11px;height:57px}.ctxt.b_outTextBox{border-top:4px solid #919191;padding:0 11px 8px 11px}.ctxt.b_outTextBox:focus{border-top-width:1px;padding-top:3px}select{padding:0 0 0 11px;height:32px}input.ctxt,.ccal input,.ccal .ccali,.b_favicon,.b_footnote .cico{vertical-align:middle}.ccal .ctxt,.ccal .ctxt:hover,.ccal .ctxt:focus,.ccal .ccali{background:none;border:none;box-shadow:none;-webkit-box-shadow:none}.ccal{border-width:1px;border-style:solid}.ccal .ccali{height:30px}.ccal .ccalp{padding:5px 5px 0 5px}.b_underSearchbox{margin:-20px 20px 14px}.b_underSearchbox .b_hList>li{padding:0 8px 0 0}.b_compactSearch label{float:left;margin:7px 10px 0 0}.b_compactSearch input{margin-right:0;float:left}.b_compactSearch .cbtn{border-left:0}.b_footer table{width:520px;margin:15px 20px 0 120px}#b_footerItems ul{display:block}#b_footerItems li{display:inline;float:left}#b_footerItems span{margin-right:24px;margin-left:48px;float:right}#b_footerItems a{margin-right:48px}#b_footerItems{height:24px;line-height:24px;padding:0 20px 0 120px}.b_footerRight{margin:13px 0 0 50px}.b_1linetrunc{text-overflow:ellipsis;white-space:nowrap}div.cico.b_capImg{margin-bottom:4px}#b_context .b_entitySubTitle,#b_results .b_entityTP .b_entitySubTitle{margin-top:-9px}.b_entityTP .b_infocardTopR .b_floatR_img,.b_tinyInfocard .b_floatR_img,.b_smallInfoFacts .sml{padding-bottom:10px}.b_vmparent{display:-ms-flexbox;display:-webkit-flex;display:flexbox;display:-webkit-box;display:flex;align-items:center}.b_relative{position:relative}.bdzoom115{zoom:1.15;-ms-zoom:1.15}.bdzoom110{zoom:1.1;-ms-zoom:1.1}.bdzoom105{zoom:1.05;-ms-zoom:1.05}.bdzoom95{zoom:.95;-ms-zoom:.95}:root{--lgutter:160px;--lgutterrev:-160px;--polepadl:180px;--polepadl2:120px;--dtabpadl:120px;--rgutter:80px;--crleft:888px;--bminwidth:1320px}z{a:1}input,textarea,h4,h5{font:inherit;font-size:100%}body,.b_no h4,h2 .b_secondaryText,h2 .b_alert,.b_underSearchbox,#b_header{font:14px/normal Arial,Helvetica}h1,h2,h3{font:13px/1.2em \\'Microsoft YaHei\\',Arial,Helvetica,sans-serif}h2{font-size:20px;line-height:24px}.sb_add h2{line-height:24px}h3,.b_no h1{font-size:18px;line-height:22px}cite{font-style:normal}.sb_alert a{font-style:italic}#b_content,#b_context,.b_expando{line-height:1.2em}cite,#b_context,.b_expando,#vidans2{word-wrap:break-word}#sa_ul li,.nowrap{white-space:nowrap}.b_footer{line-height:18px}.b_attribution,#b_content .b_attribution{font-size:16px;line-height:24px}.ba_title>h2+cite{font-size:16px;line-height:24px;padding-top:1px}.b_subModule h2{font-size:18px;line-height:22px}.b_smText,.b_footnote,.ciot{font-family:Arial,Helvetica;font-size:11px;line-height:normal}.b_footnote{line-height:16px}.b_ad .b_adlabel,.b_ad .b_adlabel strong{font:12px/normal Arial,Helvetica}.b_mText{font:16px/22px \\'Microsoft YaHei\\',Arial,Helvetica,sans-serif}.b_focusLabel{font:16px \\'Microsoft YaHei\\',Arial,Helvetica,sans-serif;line-height:20px}.b_secondaryFocus{font:13px Arial,Helvetica;line-height:18px}.b_focusTextExtraSmall{font:18px \\'Microsoft YaHei\\',Arial,Helvetica,sans-serif;line-height:1.3em}h2.b_entityTitle,.b_prominentFocusLabel,.b_xlText{font-size:24px;font-family:\\'Microsoft YaHei\\',Arial,Helvetica,sans-serif;line-height:1.2em}h2.b_entityTitle{line-height:normal}.b_entitySubTitle{font-size:13px;line-height:18px}.b_focusTextSmall,.b_focusTextMedium,.b_focusTextLarge{font:400 28px \\'Microsoft YaHei\\',Arial,Helvetica,sans-serif}.b_focusTextMedium{font-size:40px;line-height:48px}.b_focusTextLarge{font-size:54px;line-height:64px}.b_focusTextSmall{font-size:28px;line-height:38px}h2.b_topTitle{font-size:24px;line-height:1.2em}.sb_add h2.b_topTitle{line-height:1.2em}strong,.b_active a,.b_no h4,.b_strong,.b_ad .b_adlabel strong,.cbl{font-weight:700}th,h2 strong,h3 strong{font-weight:normal}#b_tween{font-size:12px}#b_tween>span,#b_tween .ftrH{line-height:30px}.sb_count{text-transform:capitalize}a,.b_algoheader a:hover,.b_topbar a:hover,.b_pag a:hover,.cbtn:hover,.cbtn a:hover,.b_hlButton:hover,.ftrB a:hover,.b_algo:hover .b_vList h2 a,.b_algo:first-child:hover .b_vList h2 a,#b_header:hover~#b_content #b_pole~#b_results li:first-child.b_ad li:first-child h2 a,#b_header:hover~#b_content #b_pole~#b_results li:first-child.b_algo h2 a,#b_results>.b_ans:hover .ent_cnt h2>a,#b_results>.b_ans:hover #sp_requery h2>a,#b_results>.b_ans .b_rich>.b_vList>li:hover h5.b_lBMargin>a{text-decoration:none}a:hover,.b_algoheader a h2:hover,.b_algo:first-child:hover h2 a,.b_algo .b_underline a,.sb_add .b_underline a,#b_results>.b_ad li:first-child .sb_adTA:hover h2 a,#b_header:hover~#b_content #b_results li:first-child.b_ad li:first-child div.sb_adTA h2 a,#b_header:hover~#b_content #b_results li:first-child.b_algo h2 a{text-decoration:underline}z{a:1}#b_results>li.b_ans.b_topborder{padding:15px 19px 10px 19px;margin-bottom:12px;border-radius:6px;margin-top:0}#b_results>li.b_ans.b_topborder .bgtopgr{border-bottom-left-radius:6px;border-bottom-right-radius:6px}#b_results>li.b_ans.b_topborder .bgtopwh{border-radius:6px 6px 0 0}#b_results li.b_ans~.b_topborder{margin-top:10px}#b_results li.b_ad~.b_ans.b_topborder{margin-top:12px}#b_results>li.b_ans.b_topborder.b_tophb{border:1px solid #ddd;box-shadow:none;padding:0}#b_results>li.b_ans.b_topborder,#b_results>li.b_ans.b_topborder.b_tophb.b_topshad{box-shadow:0 0 0 1px rgba(0,0,0,.05),0 2px 3px 0 rgba(0,0,0,.1);border:none}.b_tophb .b_tophbh{padding:15px 19px 16px 19px}.b_tophb .b_tophbb{border-top:1px solid #ddd;padding:15px 19px 19px 19px}.b_topshad .b_tophbb{padding-bottom:10px}.b_tophb .b_tophbb.bgbtopnone{border-top:none}.b_tophb .bgtopwh{background-color:#fff}.b_tophb .bgtopgr{background-color:#f5f5f5}#b_results>.b_ad+.b_top{margin-top:0}.b_top .b_attribution+.b_rich,.b_top .b_factrow+.b_rich{padding-top:8px}.b_top .b_topTitle+.b_rich{padding-top:12px}.b_tHeader,.b_demoteText,.b_secondaryText,.b_attribution,.b_factrow,.b_focusLabel,.b_footnote,.b_ad .b_adlabel,#b_tween .b_dropdown a,.b_expando .b_subModule,.b_expando .b_suppModule,.b_algo .b_vList td,#b_content .b_lowFocusLink a,#b_context .b_secondaryText,#b_context .b_attribution,#b_context .b_factrow,#b_context .b_footnote,#b_context .b_ad .b_adlabel,.b_expando .b_secondaryText,.b_expando .b_attribution,.b_expando .b_factrow,.b_expando .b_footnote{color:#767676}.b_ad .b_secondaryText{color:#767676}#b_context .b_mhdr:hover .b_secondaryText,.b_expando .b_mhdr:hover .b_secondaryText{color:#001ba0}#b_results>.b_top .b_prominentFocusLabel,#b_results>.b_top .b_topTitle,#b_results>.b_top .b_focusTextExtraSmall,#b_results>.b_top .b_focusTextExtraSmall a,#b_results>.b_top .b_focusTextSmall,#b_results>.b_top .b_focusTextSmall a,#b_results>.b_top .b_focusTextMedium,#b_results>.b_top .b_focusTextMedium a,#b_results>.b_top .b_focusTextLarge,#b_results>.b_top .b_focusTextLarge a{color:#111}span.b_negText.b_focusTextExtraSmall{color:#c80000 !important}span.b_posText.b_focusTextExtraSmall{color:#006d21 !important}.b_top .b_focusTextExtraSmall a,.b_top .b_focusTextSmall a,.b_top .b_focusTextMedium a,.b_top .b_focusTextLarge a{text-decoration:none}#b_results>.b_top:hover .b_focusTextExtraSmall a,#b_results>.b_top:hover .b_focusTextSmall a,#b_results>.b_top:hover .b_focusTextMedium a,#b_results>.b_top:hover .b_focusTextLarge a{color:#001ba0}#b_results>.b_top .b_focusTextExtraSmall a:hover,#b_results>.b_top .b_focusTextSmall a:hover,#b_results>.b_top .b_focusTextMedium a:hover,#b_results>.b_top .b_focusTextLarge a:hover{text-decoration:underline}.fc_cal_holder table{font-size:11px}body .fc_cal_holder{border:1px solid #0072c5}body .fc_cal_holder .fc_cal_disabled{color:#767676}body .fc_cal_holder a:link,body .fc_cal_holder a:visited{color:#666}body .fc_cal_holder td,body .fc_cal_holder .fc_cal_disabled,body .fc_cal_holder .fc_cal_days td{width:20px;line-height:20px;padding:0 10px 10px 0}.fc_cal_holder tr td:first-child{padding-left:10px}.fc_cal_holder tr:last-child td{padding-bottom:15px}body .fc_cal_holder .fc_cal_days td{line-height:15px;color:#767676;background-color:#fff}body .fc_cal_holder a{padding:0}body .fc_cal_holder td a:hover,body .fc_cal_holder td a:active,body .fc_cal_holder td.fc_cal_current a:hover,body .fc_cal_holder td.fc_cal_current a:active{background-color:#eee;color:#666}body .fc_cal_holder .fc_cal_monthHolder+.fc_cal_monthHolder{border-left:1px solid #bfdcf0}body .fc_cal_holder .fc_cal_monthHolder{background-color:#fff;border:0;padding:15px 15px 10em 15px}body .fc_cal_holder th div{background-color:#fff;border:0;padding:0 0 15px;color:#666;text-align:center;font-size:13px}body .fc_cal_holder .fc_cal_current a{background-color:#001ba0}body .fc_cal_monthDec.fc_cal_monthChange,body .fc_cal_monthInc.fc_cal_monthChange{background:url(rms://rms:answers:SharedStaticAssets:navchevrons_topRefresh) no-repeat;width:8px;height:12px;background-position:0 -110px;font-size:0}body .fc_cal_monthDec.fc_cal_monthChange{background-position:0 -44px}body .fc_cal_holder .fc_cal_month_first .fc_cal_monthDec{margin:1px 0 0 15px}body .fc_cal_holder .fc_cal_month_last .fc_cal_monthInc{margin:1px 15px 0 0}#b_results .b_attribution,#b_context .b_attribution{line-height:24px}.b_deep,#b_results .b_caption,#b_results .b_snippet,#b_results .b_factrow,#b_results p,#b_context .b_caption,#b_context .b_snippet,#b_context .b_factrow,#b_context p,#snct{line-height:22px}#b_context .b_caption .b_factrow .csrc{line-height:19px}#b_content .b_deep p{height:44px}#b_content .carousel p,#b_content .b_slideexp p,#b_content #lMapContainer p,#b_content .MicrosoftMap p,#b_content .rwrl p,#b_content .qna_body p,#bw-rqna p,#ecmp_relatedPh p,#na_cl p{line-height:inherit}#b_content .b_imgSetData p,#b_content .b_caption .b_slideexp p{line-height:18px}#b_results #lgb_info .b_factrow{padding-bottom:4px}#snct .imgbig .b_overflow>h4{line-height:normal}#b_results .b_attribution,.b_ad h2,.b_deep h3,#snct h4{padding-bottom:0}#b_results .b_attribution .cico{border-radius:0}#b_results .b_algo .b_attribution,#b_results .sb_add .b_attribution{padding:1px 0 0 0}.b_deep h3{line-height:1.2em}#b_results .b_factrow{padding-bottom:2px}.b_ans h2.b_topTitle.b_headerTitle{padding-bottom:3px}.b_ans h2.b_lBottom{padding-bottom:10px}.b_expando h2{padding-bottom:10px}.b_ans h2,.b_algo h2{padding-bottom:0}z{a:1}.b_ad li,#b_context>.b_ad>ul>li{margin-bottom:20px}#b_context .b_ad .b_caption{padding-bottom:4px}#b_content ol#b_results li.b_ad{padding-bottom:8px;margin-bottom:0}#b_results li.b_ad.b_adBottom{padding-top:11px}#b_context .b_entityTP{padding:9px 19px 4px 19px;margin:-10px -20px -6px -20px;width:100%;box-shadow:0 0 0 1px rgba(0,0,0,.05),0 2px 3px 0 rgba(0,0,0,.1);border-radius:6px}#b_context .b_entityTP .irp{border-radius:6px 6px 0 0;overflow:hidden}#b_context .b_ans:not(:first-child)>.b_entityTP{margin-top:-16px}#b_context .b_ad:not(:last-child){padding-bottom:15px;border-bottom:1px solid #ebebeb}#b_context .b_ans:not(:last-child){padding-bottom:5px}#b_context .b_ans .b_entityTP{margin-bottom:20px}#b_content .b_algo .b_attribution cite strong{font-weight:normal}z{a:1}z{a:1}z{a:1}.b_scopebar li:hover:not(.b_active){border-bottom:3px solid #ccc}#b_header .scopebar_pipe{border-bottom:none}#b_header .b_scopebar li.b_nohov:hover{border-bottom:none}z{a:1}.b_algo .b_caption p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}z{a:1}.bza_label.toggle_label{width:auto}#bza_AutoZoom{display:inline-block;line-height:30px;padding-right:40px;font-size:12px;user-select:none}#bza_AutoZoom .bza_tit{width:unset;margin-right:8px}#bza_AutoZoom .bza_val{line-height:20px}.toggle_hidden{display:none}.toggle_ctrl{display:inline-block;vertical-align:middle;margin-left:5px;width:38px;height:16px;overflow:hidden}.toggle_img{position:relative;top:0;left:0}.toggle_label{display:inline-block;width:173px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.no_outline .toggle_item{outline:none}.toggle_item{cursor:pointer}.toggle_img{position:relative;top:-18px;left:0}.toggle_img img{width:150px}.toggle_img.disabled{left:-76px}.toggle_img.overlay{left:-38px}.toggle_img.overlay.disabled{left:-114px}.toggle_img.toggle_on{top:0}#b_lgpd{margin-left:-160px;position:absolute;width:150px}.b_lgpd_site{background-color:#f5f5f5;margin-bottom:10px;border-radius:0 25px 25px 0;height:50px;overflow:hidden;cursor:pointer;transition:.2s;box-sizing:border-box;width:150px}.b_lgpd_hov .b_lgpd_site{opacity:50%}.b_lgpd_hov .b_lgpd_site:hover{opacity:100%;width:166px;padding-left:16px}.b_lgpd_site:hover{background-color:#ececec}.b_lgpd_fav{display:inline-block;margin:4px 10px 4px 8px;border-radius:21px;height:42px;width:42px;vertical-align:middle}.b_lgpd_fav.b_lgpd_yt{background:url() no-repeat center;background-size:42px}.b_lgpd_fav.b_lgpd_imdb{background:url() no-repeat center;background-size:42px}.b_lgpd_name{display:inline-block;font-size:12px;line-height:16px;max-width:90px;word-break:break-word;text-overflow:ellipsis;overflow:hidden;vertical-align:middle;color:#444;font-weight:700;max-height:50px;display:-webkit-inline-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.b_lgpd_fav .b_favImg{border-radius:21px}.b_lgpd_title{font-size:13px;line-height:20px;font-weight:700;color:#666;margin:0 0 10px 12px}@keyframes flash{0%{background-color:#ececec}100%{background:none}}.b_lgpd_flash:not(.b_algoBorder){animation:3s flash 1 0s}#b_lgpd_gtcont{width:104px;height:36px;background-color:#106ebe;color:#fff;position:absolute;border-radius:18px;left:28px;cursor:pointer;display:flex;justify-content:center}#b_lgpd_gtcont.b_hide{display:none}.b_lgpd_gt{display:flex;align-items:center}.b_lgpd_gti{background:url(/rp/40v_8ICVNhTxh8rPXMkL6ngx2kM.svg) no-repeat center;display:inline-block;width:12px;height:12px}#b_lgpd_gtcont{width:104px;height:36px}.b_lgpd_gt span{margin-left:5px;display:inline-block}#b_lgpd_gtcont:hover{background-color:#0c538f}.sw_close{display:inline-block;position:relative;overflow:hidden;direction:ltr;height:12px;width:12px}.sw_close:after{display:inline-block;transform:scale(.5);transform-origin:-214px -64px}.sw_meIc,.sw_spd,.idp_ham,.idp_wlid,.idp_tw{position:relative;overflow:hidden;direction:ltr}.sw_meIc:after,.idp_ham:after,.idp_wlid:after,.idp_tw:after{position:relative;transform:scale(.5);display:inline-block}.idp_ham{height:14px;width:20px;vertical-align:top;top:17px}.idp_ham:focus{outline-style:solid;outline-offset:5px}.idp_ham:after{transform-origin:-198px 0}.idp_ham:hover:after,.idp_ham:active:after,.idp_ham:focus:after{transform-origin:-198px -32px}.idp_wlid,.idp_tw,.sw_meIc{height:16px;width:16px}.idp_wlid:after{transform-origin:-768px 0}.idp_tw:after{transform-origin:-1290px 0}.rh_reedm .sw_meIc:after{transform-origin:-94px 0}.sw_meIc:after{transform-origin:-58px 0}.sw_spd:after{transform-origin:-1326px 0}.sw_meIc:after,.idp_ham:after,.idp_wlid:after,.idp_tw:after{content:url(/rp/i3t3vGbFsQ-XpUOCob6i88omBUs.png)}z{a:1}.b_searchboxForm,.sa_as .sa_drw{background-color:#fff}.b_searchboxForm .b_searchboxSubmit{background-color:#fff;border-color:#fff}.b_scopebar,.b_scopebar a,.b_scopebar a:visited,.id_button,.id_button:visited{color:#444}.b_scopebar .b_active a,.b_scopebar a:hover,.id_button:hover{color:#444}.b_idOpen a#id_l,a#id_rh.openfo{color:#333}#bepfo,#id_d{color:#333;background-color:#fff}.wpc_bub a{color:#001ba0}#sw_as{color:#444}.sa_tm strong{color:#444}.sa_hv{background:#ececec}.sa_hd{color:#444}#b_header{padding:18px 0 0 0;background-color:#fff;background:#fff}#b_header #sb_form,.b_logoArea,.b_logo,.b_searchboxForm,.id_button,.id_avatar,.idp_ham,.b_scopebar li,.b_scopebar a{display:inline-block}#b_header #sb_form{margin-right:10px}.b_searchbox{width:490px;margin:1px 0 1px 1px;padding:0 10px 0 19px;border:0;max-height:none;outline:none;box-sizing:border-box;height:44px;vertical-align:top;border-radius:6px;background-color:transparent}.b_searchboxSubmit{height:40px;width:40px;text-indent:-99em;border-width:0;border-style:solid;margin:3px 3px 3px 7px;background-position:-88px 0;-webkit-transform:scale(.45);-ms-transform:scale(.45);transform:scale(.45)}#sw_as{width:auto;position:relative;z-index:6}.sa_as{position:absolute;width:100%;display:none}#sa_ul div.sa_tm,#sa_ul .sa_hd{margin-left:20px}#sw_as #sa_ul li.pp_tile{padding-left:20px}.sa_hd{padding-top:5px}.b_searchboxSubmit,.sa_sg{cursor:pointer}#sb_form_q::-webkit-search-cancel-button{display:none}.b_searchboxForm{box-shadow:0 0 0 1px rgba(0,0,0,.05),0 2px 4px 1px rgba(0,0,0,.09);border-radius:6px;border-left:1px solid transparent;border-right:none;border-top:1px solid transparent;border-bottom:1px solid transparent}.b_idOpen #id_d,#bepfo,#id_hbfo.slide_down{box-shadow:0 0 0 1px rgba(0,0,0,.1),0 2px 4px 1px rgba(0,0,0,.18);border-radius:6px}#sw_as #sa_ul:not(:empty){box-shadow:0 0 0 1px rgba(0,0,0,.1),0 2px 4px 1px rgba(0,0,0,.18)}.b_searchboxForm:hover,.b_focus .b_searchboxForm{box-shadow:0 0 0 1px rgba(0,0,0,.1),0 2px 4px 1px rgba(0,0,0,.18);border-left:1px solid transparent;border-right:none;border-top:1px solid transparent;border-bottom:1px solid transparent}.as_on .b_searchboxForm{border-radius:6px 6px 0 0}@media screen and (-ms-high-contrast:active){.b_idOpen #id_d{border:1px solid #fff}}@media screen and (-ms-high-contrast:black-on-white){.b_idOpen #id_d{border:1px solid #000}}#sw_as #sa_ul:not(:empty),#sw_as li:last-of-type.sa_hv{border-bottom-left-radius:6px;border-bottom-right-radius:6px}.spl-headerbackground{border-radius:6px 6px 0 0}body,#b_header{min-width:1204px}#id_h{display:block;position:relative;float:right;text-align:right;margin:0;line-height:50px;right:40px}.id_button{margin:0 8px;vertical-align:top}#id_rh,#id_rbh{padding:0 4px 0 24px;margin:0}.sw_spd{height:64px;width:64px;border-radius:50%;top:-7px;background-repeat:no-repeat;background-image:url(/rp/i3t3vGbFsQ-XpUOCob6i88omBUs.png);transform:scale(.5);background-position:-1326px 0;margin:0 -16px 0 -8px;vertical-align:top}.sw_meIc{vertical-align:top;margin:16px 0 0 16px}#bepfo,#bepfm,#bepfl{width:320px}#bepfm{display:block}#bepfl{text-align:center;margin:50px 0}#bepfo{position:absolute;right:0;z-index:6;text-align:left}.idp_ham{margin:0 20px 0 16px;height:14px;width:20px}.b_scopebar{padding:0;margin:7px 0 0 160px;border-bottom:none}#b_header{border-bottom:1px solid #ececec}.blue2#miniheader .b_scopebar ul{height:33px;overflow-y:hidden}.b_scopebar ul{height:39px;overflow-y:hidden}.b_scopebar li{padding:3px 0;margin:0 12px;line-height:25px;font-size:11px;letter-spacing:initial}.b_scopebar>ul li{text-transform:uppercase}.b_scopebar a{padding:0 8px}.b_scopebar .b_active{border-bottom:3px solid #00809d}#b_header .b_topbar,#b_header .b_scopebar{background:none;margin-bottom:0;overflow-y:inherit}.b_scopehide>.b_active{visibility:visible}.b_scopehide>li{visibility:hidden}.b_logo{font-family:Arial,Helvetica}a,#b_header a,#b_header a:hover,.b_toggle,.b_toggle:hover{text-decoration:none}input{font:inherit;font-size:100%}.b_searchboxForm{font:18px/normal \\'Microsoft YaHei\\',Arial,Helvetica,sans-serif}.b_searchbox{font-size:16px}.id_button{line-height:50px;height:50px}.b_scopebar .b_active a{font-weight:700}.b_scopebar,.b_scopebar li{line-height:30px}.sa_tm{line-height:36px}.b_scopebar li{vertical-align:top}#sa_ul,.pp_title{font:16px/normal \\'Microsoft YaHei\\',Arial,Helvetica,sans-serif}#sa_ul .sa_hd{color:#444;font:11px/16px \\'Segoe UI\\',\\'Arial\\',\\'Helvetica\\',\\'Sans-Serif\\';cursor:default;text-transform:uppercase;font-weight:bold}#sw_as strong{font-weight:bold}z{a:1}#sb_go_par{display:inline-block}#hp_container #sb_go_par{display:inline}#sb_go_par:hover::before,#sb_go_par.shtip::before,#sb_go_par[vptest]::before{bottom:-15px;left:26px;z-index:6}#sb_go_par:hover::after,#sb_go_par.shtip::after,#sb_go_par[vptest]::after{top:52px;left:26px;z-index:4}#miniheader #sb_go_par:hover::before,#miniheader #sb_go_par:hover::after{left:18px}*[data-sbtip]{position:relative}[vptest]::after,*[data-sbtip]:not(.disableTooltip):hover::after,*[data-sbtip].shtip:not(.disableTooltip)::after{position:absolute;background-color:#666;content:attr(data-sbtip);font:13px/18px Arial,Helvetica,sans-serif;white-space:nowrap;color:#fff;padding:10px 15px;transform:translateX(-50%);box-shadow:0 0 0 1px rgba(0,0,0,.06),0 4px 12px 1px rgba(0,0,0,.14);border-radius:4px}[vptest]::before,*[data-sbtip]:not(.disableTooltip):hover::before,*[data-sbtip].shtip:not(.disableTooltip)::before{position:absolute;background-color:#666;width:12px;height:12px;content:\"\";transform:translateX(-50%) rotate(45deg)}.mic_cont.partner [data-sbtipx]:hover::before{bottom:-29px;left:10px}.mic_cont.partner [data-sbtipx]:hover::after{top:38px;left:10px}.disableTooltip *[data-sbtip]:hover::before,.disableTooltip *[data-sbtip]:hover::after,.disableTooltip *[data-sbtip].shtip::before,.disableTooltip *[data-sbtip].shtip::after,.as_on *[data-sbtip]:hover::before,.as_on *[data-sbtip]:hover::after,.as_on *[data-sbtip].shtip::before,.as_on *[data-sbtip].shtip::after,.focus_hi *[data-sbtip]:hover::before,.focus_hi *[data-sbtip]:hover::after,.focus_hi *[data-sbtip].shtip::before,.focus_hi *[data-sbtip].shtip::after{display:none}#id_h #id_l{margin-right:0;display:inline-block}#id_a{vertical-align:top;position:relative;top:8px}#id_rh,#id_rbh{padding-left:24px}.idp_ham{margin-left:20px}z{a:1}z{a:1}z{a:1}a{z:1}.b_searchbox { width: 571px; } .hasmic .b_searchbox { width: 535px; } .hassbi .b_searchbox { width: 535px; } .hasmic.hassbi .b_searchbox { width: 499px; } #b_header .b_searchboxForm .b_searchbox.b_softkey { width: 533px; } #b_header .hasmic .b_searchboxForm .b_searchbox.b_softkey { width: 497px; } #b_header .hassbi .b_searchboxForm .b_searchbox.b_softkey { width: 497px; } #b_header .hasmic.hassbi .b_searchboxForm .b_searchbox.b_softkey { width: 461px; }#est_switch{position:relative;bottom:4px;margin-left:180px;z-index:1;width:200px}#est_cn,#est_en{position:relative;display:inline-block;height:15px;line-height:15px;font-size:13px;text-align:center;padding:5px 14px;color:#444;font-family:\\'Microsoft YaHei\\',Arial,Helvetica,sans-serif}#est_cn{margin-right:4px}#est_cn.est_selected::before{content:\\'\\';position:absolute;bottom:-11px;left:1px;height:10px;width:141px;z-index:0;display:none}#est_en.est_selected::before{content:\\'\\';position:absolute;bottom:-11px;left:-68px;height:10px;width:141px;z-index:0;display:none}.est_sb_hover #est_cn.est_selected::before,.b_focus #est_cn.est_selected::before{left:0;bottom:-9px}.est_sb_hover #est_en.est_selected::before,.b_focus #est_en.est_selected::before{left:-69px;bottom:-9px;width:146px}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.est_sb_hover #est_cn.est_selected::before,.b_focus #est_cn.est_selected::before,.est_sb_hover #est_en.est_selected::before,.b_focus #est_en.est_selected::before{bottom:-8px}#est_switch{bottom:4px}#est_cn.est_selected::before,#est_en.est_selected::before{bottom:-9px}}@supports (-ms-ime-align:auto){.est_sb_hover #est_cn.est_selected::before,.b_focus #est_cn.est_selected::before,.est_sb_hover #est_en.est_selected::before,.b_focus #est_en.est_selected::before{bottom:-8px;}#est_switch{bottom:4px;}#est_cn.est_selected::before,#est_en.est_selected::before{bottom:-9px;}}#est_cn::after,#est_en::after{content:\\'\\';position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;-webkit-transform:none;transform:none;-webkit-transform-origin:bottom left;transform-origin:bottom left;border-radius:100px}#est_switch .est_selected{z-index:1}#est_switch .est_selected::before{background:#e6f2f5}#est_switch .est_selected::after{background-color:#e6f2f5;border-top:1px solid #e6f2f5;border-right:1px solid #e6f2f5;border-bottom:1px solid #e6f2f5;border-left:1px solid #e6f2f5}#est_switch .est_unselected{color:#666;cursor:pointer}#est_switch .est_unselected::after{background-color:#fff;border:1px solid #fff}#est_switch .est_unselected:hover::after{border:1px solid #ececec;box-shadow:none}#est_switch .est_unselected:hover{opacity:1}#sb_form{position:relative}#est_switch.est_sb_hover .est_selected::after,.b_focus #est_switch .est_selected::after{border-left:1px solid transparent;border-top:1px solid transparent;border-right:1px solid transparent;border-bottom:none;box-shadow:\"none\"}#est_switch+#sb_form .b_searchboxForm,#est_switch+#sb_form .b_searchboxForm:hover{border-top-left-radius:24px}#ovlsb~#b_header #est_switch{opacity:.75;bottom:4px}#ovlsb~#b_header .est_sb_hover #est_cn.est_selected::before,#ovlsb~#b_header.b_focus #est_cn.est_selected::before,#ovlsb~#b_header .est_sb_hover #est_en.est_selected::before,#ovlsb~#b_header.b_focus #est_en.est_selected::before{bottom:-9px}#ovlsb~#b_header #est_switch.est_sb_hover{opacity:1}#ovlsb~#b_header #est_switch .est_selected::before{display:none}#ovlsb~#b_header #est_switch.est_sb_hover .est_selected::after,#ovlsb~#b_header.b_focus #est_switch .est_selected::after{box-shadow:none;border:1px solid #ececec;border-bottom:none}a{z:1}a{z:1}#b_header .b_searchboxForm,#uaanswer .b_searchboxForm{border-radius:24px}#b_header .b_searchbox,#uaanswer .b_searchboxForm{border-radius:24px}.as_on #b_header .b_searchboxForm{border-radius:24px 24px 0 0}.as_no_s #b_header .b_searchboxForm,.as_nw #b_header .b_searchboxForm{border-radius:24px}#b_header #sw_as{top:1px}#b_header #sw_as #sa_ul,#uaanswer #sw_as #sa_ul,#sw_as #sa_ul li:last-of-type{border-radius:0 0 24px 24px}.sb_bpr{height:44px;line-height:40px}#sb_clt.sb_clrhov{display:inline-block;overflow:visible;top:0;margin:3px 0;vertical-align:middle}#sb_clt #sw_clx{padding:9px;height:22px;display:inline-block;line-height:20px}#sb_clt[data-sbtipx]:hover::before{bottom:-15px;left:50%}#sb_clt[data-sbtipx]:hover::after{left:50%;top:49px}#b_header .hasmic .mic_cont.partner{margin:3px 0;vertical-align:middle}#b_header .mic_cont.partner .mic_icon{margin:11px 9px}#b_header .mic_cont.partner .sb_icon{font-size:0;height:18px;width:18px}#b_header .mic_cont.partner .b_icon{width:36px;z-index:4}#b_header .mic_cont.partner .b_icon:hover::before{bottom:-15px;left:12px;position:absolute;background-color:#666;width:12px;height:12px;content:\"\";transform:rotate(45deg);z-index:6}#b_header .mic_cont.partner .b_icon:hover::after{top:49px;left:18px;position:absolute;background-color:#666;content:attr(data-sbtipx);font:13px/18px Arial,Helvetica,sans-serif;white-space:nowrap;color:#fff;padding:10px 15px;box-shadow:0 0 0 1px rgba(0,0,0,.06) 0 4px 12px 1px rgba(0,0,0,.14);border-radius:4px;z-index:4}#b_header .b_searchboxForm #sbiarea{margin:3px 0;vertical-align:middle}#b_header .b_searchboxForm #sb_sbi{padding:11px 9px;font-size:0}#b_header .b_searchboxForm #sb_sbip:not(.disableTooltip):hover::before,#b_header .b_searchboxForm #sb_sbip.shtip:not(.disableTooltip)::before,#b_header .b_searchboxForm #sb_sbip[vptest]::before{bottom:-15px;left:18px}#b_header .b_searchboxForm #sb_sbip:not(.disableTooltip):hover::after,#b_header .b_searchboxForm #sb_sbip.shtip:not(.disableTooltip)::after,#b_header .b_searchboxForm #sb_sbip[vptest]::after{top:49px;left:18px}#b_header .b_searchboxForm #sb_search{display:inherit;vertical-align:middle;border-radius:50%;margin:3px 7px 3px 0}#sb_search,#sb_search a{display:inline-block}#b_header .b_searchboxForm #sb_search{position:relative}#b_header .b_searchboxForm #sb_search #b_icon_spyglass{position:absolute;cursor:pointer;pointer-events:none}#b_header .b_searchboxForm #sb_search #b_icon_spyglass:not(svg){background-position:-88px 0;width:36px;height:36px;transform:scale(.5);top:2px;left:2px}.b_searchboxForm #sb_search svg#b_icon_spyglass{fill:#00809d;width:calc(36px*.5);height:calc(36px*.5);padding:11px}#b_header .b_searchboxForm .b_searchboxSubmit{margin:0;transform:none;background-image:none;background-color:transparent;width:40px;height:40px;border-radius:50%}#b_header #sb_go_par:hover::before,#b_header #sb_go_par.shtip::before,#b_header #sb_go_par[vptest]::before{bottom:-15px;left:20px}#b_header #sb_go_par:hover::after,#b_header #sb_go_par.shtip::after,#b_header #sb_go_par[vptest]::after{top:49px;left:20px}a{z:1}a{z:1}#b_header .b_searchboxForm #sb_search #b_icon_spyglass:not(svg){background-image:url(/rp/i3t3vGbFsQ-XpUOCob6i88omBUs.png)}a{z:1}.b_logoArea{text-align:right;width:140px;height:40px;margin:0 20px 0 0;vertical-align:top}.b_logo{text-align:left;vertical-align:top;position:relative;display:inline-block;width:116px;height:18px;margin-top:15px;text-indent:0;overflow:hidden;direction:ltr;transform:none}.b_logo:after{position:relative;display:inline-block;transform-origin:-594px -80px;transform:scale(.5)}#detailPage .b_logo,#bnp_cookie_banner .b_logo{transform:none}#detailPage .b_logo:after,#bnp_cookie_banner .b_logo:after{transform-origin:-594px -80px}.b_logo:after{content:url(/rp/i3t3vGbFsQ-XpUOCob6i88omBUs.png)}#sb_clt{display:inline;margin:0 6px 0 0;top:-1px}.sb_clrhov{visibility:hidden}.b_searchboxForm.sh-b_searchboxForm #sb_clt,#detailheader #sb_clt{display:none}body.b_sbText #b_header .b_searchboxForm:hover .sb_clrhov,body.b_sbText.as_on #b_header .sb_clrhov,body.b_sbText #b_header.b_focus .b_searchboxForm .sb_clrhov{visibility:visible}*[data-sbtipx]:hover::after{position:absolute;top:40px;left:6px;background-color:#666;content:attr(data-sbtipx);font:13px/18px Arial,Helvetica,sans-serif;white-space:nowrap;color:#fff;padding:10px 15px;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);-o-transform:translateX(-50%);transform:translateX(-50%);box-shadow:0 0 0 1px rgba(0,0,0,.06),0 4px 12px 1px rgba(0,0,0,.14);border-radius:4px;z-index:4}*[data-sbtipx]:hover::before{position:absolute;bottom:-27px;left:6px;background-color:#666;width:12px;height:12px;content:\"\";-webkit-transform:translateX(-50%) rotate(45deg);-ms-transform:translateX(-50%) rotate(45deg);-o-transform:translateX(-50%) rotate(45deg);transform:translateX(-50%) rotate(45deg);z-index:6}.as_on *[data-sbtipx]:hover::before,.as_on *[data-sbtipx]:hover::after{display:none}.b_searchboxSubmit{background-repeat:no-repeat}.b_searchboxSubmit{background-image:url(/rp/i3t3vGbFsQ-XpUOCob6i88omBUs.png)}z{a:1}@media(max-width:1237px){#id_n{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px;display:inline-block}}z{a:1}a.cbtn,.cbtn a,.cbtn input{-webkit-appearance:none;border-radius:2px;border:1px solid #ddd;min-width:50px;max-width:100%;line-height:30px;padding:0 15px;display:inline-block;font-size:inherit;text-align:center;text-decoration:none;cursor:pointer;font-weight:normal}a.cbtn.b_compact,.cbtn.b_compact a,.cbtn.b_compact input{line-height:26px}a.cbtn,.cbtn a,.cbtn input,#b_content a.cbtn,#b_content a.cbtn:visited,#b_content .cbtn a,#b_content .cbtn a:visited{color:#666;background-color:#f5f5f5}#b_content a.cbtn:hover,#b_content .cbtn a:hover,.cbtn input:hover{background-color:#f9f9f9;color:#111;border-color:#ccc;box-shadow:0 1px 2px 0 rgba(0,0,0,.1);-webkit-box-shadow:0 1px 2px 0 rgba(0,0,0,.1)}#b_content a.cbtn:active,#b_content .cbtn a:active,.cbtn input:focus,.cbtn input:active{background:#ececec;color:#111;border-color:#ccc;box-shadow:none;-webkit-box-shadow:none}.cbtn input{height:32px;vertical-align:middle}.cbtn.b_compact input{height:28px}.cbtn input::-moz-focus-inner{padding:0;border:0}.btns{overflow:hidden;margin-bottom:4px}.splt{float:left}.splt_2btns{width:50%}.splt_3btns{width:33.33%}.splt_nm,.btns .cbtn *,.b_vPanel .btns .cbtn{margin-bottom:0}.btns .cbtn{margin-bottom:8px}.lBtn,.mBtn{margin-right:4px}.rBtn,.mBtn{margin-left:4px}.btns .cbtn a,.btns .cbtn input{width:calc(100% - 32px);margin-bottom:0}.b_1btns .cbtn{width:100%}.b_2btns .cbtn{width:calc(50% - 4px);min-width:calc(50% - 4px)}.b_3btns .cbtn{width:calc(33.33% - 5.333333333px);min-width:calc(33.33% - 5.333333333px)}.btns li.cbtn{display:inline-block}.b_2btns .cbtn:nth-child(even),.b_3btns .cbtn:nth-child(3n+2),.b_3btns .cbtn:nth-child(3n+3){margin-left:8px}z{a:1}z{a:1}a{z:1}</style><style type=\"text/css\">.hasmic .mic_cont.partner{display:inline-block}.mic_cont.partner{margin:0 0 5px 18px}#b_results{width:648px}html body,body #b_header{min-width:var(--bminwidth,1362px)}#b_context{width:432px}.b_poleContent{width:1160px}@media(max-width:1406.9px){#b_content{--rgutter:40px;--crleft:848px}}@media(max-width:883.9px){#b_content{--rgutter:20px;--crleft:828px}}@media(max-width:1362.9px){body{--bminwidth:1232px}#b_context{width:344px}.b_poleContent{width:1072px}#id_h #id_rbh,#idCont #id_h #id_rbh{display:none}}@media(max-width:1274.9px){body{--bminwidth:1164px}#b_context{width:256px}#b_header #id_h{right:0}#id_h #id_rh,#id_h #id_rbh{padding-left:8px}.b_poleContent{width:1004px}}@media(max-width:1189.9px){body.b_norr #id_h #id_n{display:none}body.b_norr{--bminwidth:1084px}}@media(max-width:838.9px){.b_respl #b_content{--lgutter:113px;--lgutterrev:-113px;--polepadl:133px;--polepadl2:133px;--dtabpadl:73px;--crleft:801px}}@media(max-width:791.9px){.b_respl #b_content{--lgutter:66px;--lgutterrev:-66px;--polepadl:86px;--polepadl2:86px;--dtabpadl:26px;--crleft:754px}}@media(max-width:743.9px){.b_respl #b_content{--lgutter:18px;--lgutterrev:-18px;--polepadl:38px;--polepadl2:38px;--dtabpadl:8px;--crleft:706px}}</style><script type=\"text/javascript\">//<![CDATA[\\nvar amd,define,require;(function(n){function e(n,i,u){t[n]||(t[n]={dependencies:i,callback:u},r(n))}function r(n){if(n){if(n)return u(n)}else{if(!f){for(var r in t)u(r);f=!0}return i}}function u(n){var s,e;if(i[n])return i[n];if(t.hasOwnProperty(n)){var h=t[n],f=h.dependencies,l=h.callback,a=r,o={},c=[a,o];if(f.length<2)throw\"invalid usage\";else if(f.length>2)for(s=f.slice(2,f.length),e=0;e<s.length;e++)c.push(u(s[e]));return l.apply(this,c),i[n]=o,o}}var t={},i={},f=!1;n.define=e;n.require=r})(amd||(amd={}));define=amd.define;require=amd.require;var _w=window,_d=document,sb_ie=window.ActiveXObject!==undefined,sb_i6=sb_ie&&!_w.XMLHttpRequest,_ge=function(n){return _d.getElementById(n)},_qs=function(n,t){return t=typeof t==\"undefined\"?_d:t,t.querySelector?t.querySelector(n):null},sb_st=function(n,t){return setTimeout(n,t)},sb_rst=sb_st,sb_ct=function(n){clearTimeout(n)},sb_gt=function(){return(new Date).getTime()},sj_gx=function(){return sb_i6?new ActiveXObject(\"MSXML2.XMLHTTP\"):new XMLHttpRequest};_w.sj_ce=function(n,t,i){var r=_d.createElement(n);return t&&(r.id=t),i&&(r.className=i),r};_w.sj_cook=_w.sj_cook||{get:function(n,t){var i=_d.cookie.match(new RegExp(\"\\\\\\\\b\"+n+\"=[^;]+\")),r;return t&&i?(r=i[0].match(new RegExp(\"\\\\\\\\b\"+t+\"=([^&]*)\")),r?r[1]:null):i?i[0]:null}};_w.sk_merge||(_w.sk_merge=function(n){_d.cookie=n});_w.bbe=\"A:rms:answers:Shared:BingCore.Bundle\";define(\"fallback\",[\"require\",\"exports\"],function(n,t){function f(){return function(){for(var r,h,c,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];if(r=s(arguments.callee),u&&(h=e(r),h.toString()!=f().toString()))return h.apply(null,arguments);c=i[r].q;t[0]===\"onPP\"&&o();c.push(t)}}function s(n){for(var t in i)if(i[t].h===n)return t}function e(n,t){for(var u,e=n.split(\".\"),i=_w,r=0;r<e.length;r++)u=e[r],typeof i[u]==\"undefined\"&&t&&(i[u]=r===e.length-1?f():{}),i=i[u];return i}function o(){var e=i[\"rms.js\"].q,o,f,r,n,s,u,t;if(e.length>0)for(o=!1,f=0;f<e.length;f++){for(r=e[f],n=0;n<r.length;n++)if(s=_w.bbe,u=r[n][s],u||(u=r[n][\"A:rmsBu0\"]),u){t=_d.createElement(\"script\");t.setAttribute(\"data-rms\",\"1\");t.setAttribute(\"crossorigin\",\"anonymous\");t.src=u;t.type=\"text/javascript\";setTimeout(function(){_d.body.appendChild(t)},0);r.splice(n,1);o=!0;break}if(o)break}}function h(){var n,t,f;for(u=!1,n=0;n<r.length;n++)t=r[n],f=e(t,!0),i[t]={h:f,q:[]}}function c(){for(var t,n=0;n<r.length;n++){var o=r[n],s=i[o].q,h=e(o);for(t=0;t<s.length;t++)h.toString()!==f().toString()&&h.apply(null,s[t])}u=!0}function l(n,t,i,r){n&&((n===_w||n===_d||n===_d.body)&&t==\"load\"?_w.sj_evt.bind(\"onP1\",i,!0):n.addEventListener?n.addEventListener(t,i,r):n.attachEvent?n.attachEvent(\"on\"+t,i):n[\"on\"+t]=i)}t.__esModule=!0;t.replay=void 0;var r=[\"rms.js\",\"sj_evt.bind\",\"sj_evt.fire\",\"sj_jb\",\"sj_wf\",\"sj_cook.get\",\"sj_cook.set\",\"sj_pd\",\"sj_sp\",\"sj_be\",\"sj_go\",\"sj_ev\",\"sj_ue\",\"sj_evt.unbind\",\"sj_et\",\"Log.Log\",\"sj_mo\",\"sj_so\"],i={},u=!1;_w.fb_is=o;t.replay=c;h();_w.sj_be=l});function lb(){_w.si_sendCReq&&sb_st(_w.si_sendCReq,800);_w.lbc&&_w.lbc()};(function(){function n(n){n=sb_ie?_w.event:n;(!n.altKey||n.ctrlKey||n.shiftKey)&&(n.key&&n.key===\"Enter\"||n.keyCode&&n.keyCode===13)&&_w.si_ct(sb_ie?n.srcElement:n.target,!1,n,\"enter\")}sj_be(document,\"keydown\",n,!1)})();(function(){function n(n){_w.si_ct(sb_ie?_w.event.srcElement:n.target,!1,_w.event||n)}sj_be(document,\"mousedown\",n,!1)})();/*!DisableJavascriptProfiler*/\\n0;/*!DisableJavascriptProfiler*/\\n0;/*!DisableJavascriptProfiler*/\\n0;ClTrCo={furl:!0};var ctcc=0,clc=_w.ClTrCo||{};_w.si_ct=function(n,t,i,r){var u,o,e,s,f,a,h,c,l;if(clc.SharedClickSuppressed)return!0;u=\"getAttribute\";try{for(;n!==document.body;n=n.parentNode){if(!n||n===document||n[u](\"data-noct\"))break;if(o=(n.tagName===\"A\"||n[u](\"data-clicks\"))&&(n[u](\"h\")||n[u](\"data-h\"))||n[u](\"_ct\"),o){e=n[u](\"_ctf\");s=-1;i&&(i.type===\"keydown\"?s=-2:i.button!=null&&(s=i.button));e&&_w[e]||(e=\"si_T\");e===\"si_T\"&&(f=n[u](\"href\"),_G!==undefined&&_G.EF!==undefined&&_G.EF.newtabredironclicktracking===1&&f.indexOf(\"/newtabredir\")==0?(a=new RegExp(\"[?&]?url=([^&]*)(&|$)\"),h=f.match(a),h&&(f=f.indexOf(\"&be=1\")>=0?encodeURIComponent(atob(decodeURIComponent(h[1]))):h[1])):f=encodeURIComponent(n[u](\"href\")),clc.furl&&!n[u](\"data-private\")?o+=\"&url=\"+f:clc.mfurl&&(o+=\"&abc=\"+f));r&&(o+=\"&source=\"+r);c=\"\";clc.mc&&(c=\"&c=\"+ctcc++);l=\"&\"+o+c;_w.si_sbwu(l)||_w[e]&&_w[e](l,n,i,s);break}if(t)break}}catch(v){_w.SharedLogHelper?SharedLogHelper.LogWarning(\"clickEX\",null,v):(new Image).src=_G.lsUrl+\\'&Type=Event.ClientInst&DATA=[{\"T\":\"CI.Warning\",\"FID\":\"CI\",\"Name\":\"JSWarning\",\"Text\":\\'+v.message+\"}]\"}return!0};_w.si_sbwu||(_w.si_sbwu=function(){return!1}),function(){_w._G&&(_G.si_ct_e=\"click\")}();\\n//]]></script><script type=\"text/javascript\" crossorigin=\"anonymous\" src=\"/rp/08hWncb4hLQzpDiAvQdqLIWYATc.gz.js\"></script><script type=\"text/javascript\">//<![CDATA[\\nvar wlc_d = 1500, wlc_t =63782503969;;var perf;(function(n){function f(n){return i.hasOwnProperty(n)?i[n]:n}function e(n){var t=\"S\";return n==0?t=\"P\":n==2&&(t=\"M\"),t}function o(n){for(var c,i=[],t={},r,l=0;l<n.length;l++){var a=n[l],o=a.v,s=a.t,h=a.k;s===0&&(h=f(h),o=o.toString(36));s===3?i.push(h+\":\"+o):(r=t[s]=t[s]||[],r.push(h+\":\"+o))}for(c in t)t.hasOwnProperty(c)&&(r=t[c],i.push(e(+c)+\\':\"\\'+r.join(\",\")+\\'\"\\'));return i.push(u),i}for(var r=[\"redirectStart\",\"redirectEnd\",\"fetchStart\",\"domainLookupStart\",\"domainLookupEnd\",\"connectStart\",\"secureConnectionStart\",\"connectEnd\",\"requestStart\",\"responseStart\",\"responseEnd\",\"domLoading\",\"domInteractive\",\"domContentLoadedEventStart\",\"domContentLoadedEventEnd\",\"domComplete\",\"loadEventStart\",\"loadEventEnd\",\"unloadEventStart\",\"unloadEventEnd\",\"firstChunkEnd\",\"secondChunkStart\",\"htmlEnd\",\"pageEnd\",\"msFirstPaint\"],u=\"v:1.1\",i={},t=0;t<r.length;t++)i[r[t]]=t;n.compress=o})(perf||(perf={}));window.perf=window.perf||{},function(n){n.log=function(t,i){var f=n.compress(t),r;f.push(\\'T:\"CI.Perf\",FID:\"CI\",Name:\"PerfV2\"\\');var e=\"/fd/ls/lsp.aspx?\",o=\"sendBeacon\",h=\"<E><T>Event.ClientInst<\\\\/T><IG>\"+_G.IG+\"<\\\\/IG><TS>\"+i+\"<\\\\/TS><D><![CDATA[{\"+f.join(\",\")+\"}]\\\\]><\\\\/D><\\\\/E>\",s=\"<ClientInstRequest><Events>\"+h+\"<\\\\/Events><STS>\"+i+\"<\\\\/STS><\\\\/ClientInstRequest>\",u=!_w.navigator||!navigator[o];if(!u)try{navigator[o](e,s)}catch(c){u=!0}u&&(r=sj_gx(),r.open(\"POST\",e,!0),r.setRequestHeader(\"Content-Type\",\"text/xml\"),r.send(s))}}(window.perf);var perf;(function(n){function a(){return c(Math.random()*1e4)}function o(){return y?c(f.now())+l:+new Date}function v(n,r,f){t.length===0&&i&&sb_st(u,1e3);t.push({k:n,v:r,t:f})}function p(n){return i||(r=n),!i}function w(n,t){t||(t=o());v(n,t,0)}function b(n,t){v(n,t,1)}function u(){var u,f;if(t.length){for(u=0;u<t.length;u++)f=t[u],f.t===0&&(f.v-=r);t.push({k:\"id\",v:e,t:3});n.log(t,o());t=[];i=!0}}function k(){r=o();e=a();i=!1;sj_evt.bind(\"onP1\",u)}var s=\"performance\",h=!!_w[s],f=_w[s],y=h&&!!f.now,c=Math.round,t=[],i=!1,l,r,e;h?l=r=f.timing.navigationStart:r=_w.si_ST?_w.si_ST:+new Date;e=a();n.setStartTime=p;n.mark=w;n.record=b;n.flush=u;n.reset=k;sj_be(window,\"load\",u,!1);sj_be(window,\"beforeunload\",u,!1)})(perf||(perf={}));_w.si_PP=function(n,t,i){var r,o,l,h,e,c;if(!_G.PPS){for(o=[\"FC\",\"BC\",\"SE\",\"TC\",\"H\",\"BP\",null];r=o.shift();)o.push(\\'\"\\'+r+\\'\":\\'+(_G[r+\"T\"]?_G[r+\"T\"]-_G.ST:-1));var u=_w.perf,s=\"navigation\",r,f=i||_w.performance&&_w.performance.timing;if(f&&u){if(l=f.navigationStart,u.setStartTime(l),l>=0)for(r in f)h=f[r],typeof h==\"number\"&&h>0&&r!==\"navigationStart\"&&r!==s&&u.mark(r,h);u.record(\"nav\",s in f?f[s]:performance[s].type)}e=\"connection\";c=\"\";_w.navigator&&navigator[e]&&(c=\\',\"net\":\"\\'+navigator[e].type+\\'\"\\',navigator[e].downlinkMax&&(c+=\\',\"dlMax\":\"\\'+navigator[e].downlinkMax+\\'\"\\'));_G.PPImg=new Image;_G.PPImg.src=_G.lsUrl+\\'&Type=Event.CPT&DATA={\"pp\":{\"S\":\"\\'+(t||\"L\")+\\'\",\\'+o.join(\",\")+\\',\"CT\":\\'+(n-_G.ST)+\\',\"IL\":\\'+_d.images.length+\"}\"+(_G.C1?\",\"+_G.C1:\"\")+c+\"}\"+(_G.P?\"&P=\"+_G.P:\"\")+(_G.DA?\"&DA=\"+_G.DA:\"\")+(_G.MN?\"&MN=\"+_G.MN:\"\");_G.PPS=1;sb_st(function(){u&&u.flush();sj_evt.fire(\"onPP\");sj_evt.fire(_w.p1)},1)}};_w.onbeforeunload=function(){si_PP(new Date,\"A\")};sj_evt.bind(\"ajax.requestSent\",function(){window.perf&&perf.reset()});var sj_log=function(n,t,i){var r=new RegExp(\\'\"\\',\"g\");(new Image).src=_G.lsUrl+\\'&Type=Event.ClientInst&DATA=[{\"T\":\"\\'+n+\\'\",\"FID\":\"CI\",\"Name\":\"\\'+t+\\'\",\"Text\":\"\\'+escape(i.replace(r,\"\"))+\\'\"}]\\'};var BM=BM||{},adrule=\".\"+_G.adc+\" > ul\";BM.rules={\".b_scopebar\":[0,0,0],\".b_logo\":[-1,-1,0],\".b_searchboxForm\":[100,40,0],\"#id_h\":[-1,0,0],\"#b_tween\":[-1,-1,1],\"#b_results\":[100,-1,1],\"#b_context\":[710,-1,1],\".b_footer\":[0,-1,0],\"#b_notificationContainer\":[-1,-1,0],\"#ajaxMaskLayer\":[-1,-1,0],\"#me_gutter\":[-1,-1,1],\"#me_featurelist\":[-1,-1,1],\".sh_dayul\":[-1,-1,1],\".main\":[-1,-1,1],\".bottom\":[-1,-1,0],\".sw_menu\":[-1,-1,1],\"#Body_EventDetail\":[-1,-1,1],\".sb_adsNv2 > ul\":[-1,-1,1],\"img,div[data-src],.rms_img\":[-1,-1,0],iframe:[-1,-1,0]};BM.rules[adrule]=[-1,-1,1];var BM=BM||{};(function(n){function u(n,u){n in t||(t[n]=[]);!u.compute||n in r||(r[n]=u.compute);!u.unload||n in i||(i[n]=u.unload);u.load&&u.load()}function f(n,i){t[n].push({t:s(),i:i})}function e(n){return n in i&&i[n](),n in t?t[n]:void 0}function o(){for(var n in r)r[n]()}function s(){return window.performance&&performance.now?Math.round(performance.now()):new Date-window.si_ST}var t={},i={},r={};n.wireup=u;n.enqueue=f;n.dequeue=e;n.trigger=o})(BM);(function(n){function i(){var i=document.documentElement,r=document.body,u=\"innerWidth\"in window?window.innerWidth:i.clientWidth,f=\"innerHeight\"in window?window.innerHeight:i.clientHeight,e=window.pageXOffset||i.scrollLeft,o=window.pageYOffset||i.scrollTop,s=document.visibilityState||\"default\";n.enqueue(t,{x:e,y:o,w:u,h:f,dw:r.clientWidth,dh:r.clientHeight,v:s})}var t=\"V\";n.wireup(t,{load:null,compute:i,unload:null})})(BM);(function(n){function i(){var e,o,u,s,f,r;if(document.querySelector&&document.querySelectorAll){e=[];o=n.rules;for(u in o)for(s=o[u],u+=!s[2]?\"\":\" >*\",f=document.querySelectorAll(u),r=0;r<f.length;r++){var i=f[r],h=0,c=0,l=i.offsetWidth,a=i.offsetHeight;do h+=i.offsetLeft,c+=i.offsetTop;while(i=i.offsetParent);e.push({_e:f[r],x:h,y:c,w:l,h:a})}n.enqueue(t,e)}}var t=\"L\";n.wireup(t,{load:null,compute:i,unload:null})})(BM);(function(n){function f(){u(sj_be,r)}function e(){var t=\"\"+Math.round((new Date).getTime()/1e3),n;typeof sj_cook!=\"undefined\"&&sj_cook.set(\"SRCHHPGUSR\",\"HV\",t,!1,\"/\");n=document.getElementById(\"b_content\");n&&(n.style.visibility=\"hidden\");_G&&_G.lsUrl&&((new Image).src=_G.lsUrl+\\'&Type=Event.ClientInst&DATA=[{\"T\":\"CI.BM\",\"FID\":\"CI\",\"Name\":\"HV\"}]\\')}function r(i){return i&&n.enqueue(t,i),!0}function o(){u(sj_ue,r)}function u(n,t){for(var u,r=0;r<i.length;r++)u=i[r],n(u===\"resize\"?window:document,window.navigator.pointerEnabled?u.replace(\"mouse\",\"pointer\"):u,t,!1)}var t=\"EVT\",i=[\"click\",\"mousedown\",\"mouseup\",\"touchstart\",\"touchend\",\"mousemove\",\"touchmove\",\"scroll\",\"keydown\",\"resize\"];n.wireup(t,{load:f,compute:e,unload:o})})(BM);\\n//]]></script><script type=\"text/javascript\" crossorigin=\"anonymous\" src=\"/rp/PZdZexYjch7RKn2TQrBxWozgtWs.gz.js\"></script><script type=\"text/javascript\">//<![CDATA[\\nFallBackToDefaultProfilePic = function (e) { var new_element = document.createElement(\\'span\\'); new_element.setAttribute(\\'id\\', \\'id_p\\'); new_element.setAttribute(\\'class\\', \\'sw_spd id_avatar\\'); new_element.setAttribute(\\'aria-label\\', \"\\xe9\\xbb\\x98\\xe8\\xae\\xa4\\xe4\\xb8\\xaa\\xe4\\xba\\xba\\xe8\\xb5\\x84\\xe6\\x96\\x99\\xe5\\x9b\\xbe\\xe7\\x89\\x87\"); var p = e.parentNode; p.replaceChild(new_element, e); };var sb_de=_d.documentElement;\\n//]]></script></head><body class=\"b_respl\" onload=\"if(_w.lb)lb();\"><span class=\"bdzm\" style=\"display:none\"><div class=\"toggle_item\"\\r\\n             id=\"bza_AutoZoom\" role=\"button\"\\r\\n             aria-pressed=\"true\"\\r\\n             aria-disabled=\"false\" data-appns=\"SERP\" data-k=\"5049.0\"><div class=\"bza_label toggle_label bza_tit\" id=\"bza_AutoZoom_label\">\\xe8\\x87\\xaa\\xe9\\x80\\x82\\xe5\\xba\\x94\\xe7\\xbc\\xa9\\xe6\\x94\\xbe</div><div class=\"bza_val toggle_ctrl\"><div id=\"bza_AutoZoom_ctrl\" class=\"bza_img  toggle_on  toggle_img\"><img role=\"presentation\" class=\"rms_img\" src=\"\" /></div></div></div></span><header id=\"b_header\"><div id=\"est_switch\"><div id=\"est_cn\" class=\"est_selected\" tabindex=\"-1\" aria-label=\\xe5\\x9b\\xbd\\xe5\\x86\\x85\\xe7\\x89\\x88>\\xe5\\x9b\\xbd\\xe5\\x86\\x85\\xe7\\x89\\x88</div><div id=\"est_en\" class=\"est_unselected\" tabindex=\"0\" aria-label=\\xe5\\x9b\\xbd\\xe9\\x99\\x85\\xe7\\x89\\x88>\\xe5\\x9b\\xbd\\xe9\\x99\\x85\\xe7\\x89\\x88</div></div><form action=\"/search\" id=\"sb_form\" class=\"\"><a class=\"b_logoArea\" target=\"\" href=\"/?FORM=Z9FD1\" h=\"ID=SERP,5023.1\"><h1 class=\"b_logo\" title=\"\\xe8\\xbf\\x94\\xe5\\x9b\\x9e\\xe5\\x88\\xb0\\xe5\\xbf\\x85\\xe5\\xba\\x94\\xe6\\x90\\x9c\\xe7\\xb4\\xa2\" aria-label=\"\\xe6\\x89\\x93\\xe5\\xbc\\x80\\xe5\\xbf\\x85\\xe5\\xba\\x94\\xe4\\xb8\\xbb\\xe9\\xa1\\xb5\"></h1></a><div class=\"b_searchboxForm\" role=\"search\"><input class=\"b_searchbox\" id=\"sb_form_q\" name=\"q\" aria-autocomplete=\"both\" aria-label=\"\\xe5\\x9c\\xa8\\xe6\\xad\\xa4\\xe5\\xa4\\x84\\xe8\\xbe\\x93\\xe5\\x85\\xa5\\xe4\\xbd\\xa0\\xe7\\x9a\\x84\\xe6\\x90\\x9c\\xe7\\xb4\\xa2 \\xe2\\x80\\x94 \\xe8\\xbe\\x93\\xe5\\x85\\xa5\\xe6\\x97\\xb6\\xe4\\xbc\\x9a\\xe6\\x98\\xbe\\xe7\\xa4\\xba\\xe6\\x90\\x9c\\xe7\\xb4\\xa2\\xe5\\xbb\\xba\\xe8\\xae\\xae\" type=\"search\" value=\"api\"\\r\\n                                               maxlength=\"100\" onfocus=\"_ge(\\'b_header\\').className=\\'b_focus\\';\"\\r\\n                                               dir=\"\" autocapitalize=\"off\" autocorrect=\"off\" autocomplete=\"off\" spellcheck=\"false\" /><div id=\"sb_clt\" class=\"sb_clrhov\" data-sbtipx=\"\\xe6\\xb8\\x85\\xe9\\x99\\xa4\"><a id=\"sw_clx\" href=\"javascript:void(0);\" tabindex=\"0\" aria-label=\"\\xe6\\xb8\\x85\\xe9\\x99\\xa4\\xe6\\x9c\\xac\\xe6\\x96\\x87\" role=\"button\"><div class=\"sw_close\"></div></a></div><div id=\"sb_search\"><a tabindex=\"-1\" href=\"javascript:void(0);\" h=\"ID=SERP,5024.1\"><div id=\"sb_go_par\"  data-sbtip=\\'\\xe6\\x90\\x9c\\xe7\\xb4\\xa2\\xe7\\xbd\\x91\\xe9\\xa1\\xb5\\' ><div id=\"b_icon_spyglass\" class=\"sb_icon\"></div><input type=\"submit\" class=\"b_searchboxSubmit\" id=\"sb_form_go\" tabIndex=\"0\" name=\"go\" value=\"\\xe6\\x90\\x9c\\xe7\\xb4\\xa2\" /></div></a></div><input id=\"sa_qs\" name=\"qs\" value=\"ds\" type=\"hidden\" /><input type=\"hidden\" value=\"QBRE\" name=\"form\" /></div></form><div id=\"id_h\" role=\"complementary\" aria-label=\"\\xe5\\xb8\\x90\\xe6\\x88\\xb7\\xe5\\xa5\\x96\\xe5\\x8a\\xb1\\xe5\\x92\\x8c\\xe5\\x81\\x8f\\xe5\\xa5\\xbd\\xe8\\xae\\xbe\\xe7\\xbd\\xae\" data-priority=\"2\"><a id=\"id_l\" class=\"id_button\" aria-haspopup=\"true\" aria-controls=\"id_d\" aria-expanded=\"false\" data-clarity-mask=\"true\" href=\"javascript:void(0);\" h=\"ID=SERP,5025.1\"><div>  <span id=\"9584BD_1_btn\" class=\"cbtn\" data-wire=\"I;button_init;; |\" data-appns=\"SERP\" data-k=\"5051.1\"><input type=\"submit\" name=\"submit\" id=\"id_a\" value=\"\\xe7\\x99\\xbb\\xe5\\xbd\\x95\" aria-label=\"\"/></span></div><span id=\"id_n\" style=\"display:none\" aria-hidden=\"true\"></span><img id=\"id_p\" class=\"id_avatar sw_spd\" style=\"display:none\" aria-hidden=\"true\" alt=\"\\xe4\\xb8\\xaa\\xe4\\xba\\xba\\xe8\\xb5\\x84\\xe6\\x96\\x99\\xe5\\x9b\\xbe\\xe7\\x89\\x87\" aria-label=\"\\xe4\\xb8\\xaa\\xe4\\xba\\xba\\xe8\\xb5\\x84\\xe6\\x96\\x99\\xe5\\x9b\\xbe\\xe7\\x89\\x87\" onError=\"FallBackToDefaultProfilePic(this)\" data-src=\"\" data-alt=\"\" src=\"\"/></a><span id=\"id_d\" _iid=\"SERP.5033\"></span><a id=\"id_sc\" class=\"idp_ham nohphbtop\" aria-label=\"\\xe8\\xae\\xbe\\xe7\\xbd\\xae\\xe5\\x92\\x8c\\xe5\\xbf\\xab\\xe9\\x80\\x9f\\xe9\\x93\\xbe\\xe6\\x8e\\xa5\" aria-expanded=\"false\" aria-controls=\"id_hbfo\" aria-haspopup=\"true\" role=\"button\" tabindex=\"0\" href=\"javascript:void(0);\" h=\"ID=SERP,5031.1\"></a><span id=\"id_hbfo\" _iid=\"SERP.5032\" class=\"slide_up nohpfo\" tabindex=\\'-1\\' aria-hidden=\"true\" aria-labelledby=\"id_sc\" role=\"menu\"></span></div><nav class=\"b_scopebar\" role=\"navigation\" aria-label=\"\\xe4\\xb8\\xbb\\xe8\\x8f\\x9c\\xe5\\x8d\\x95\"><ul><li class=\" b_active\" data-menuUrl=\"\"\\r\\n    id=\"b-scopeListItem-web\"><a class=\"\" target=\"\" aria-current=\"page\" href=\"/?scope=web&amp;FORM=HDRSC1\" h=\"ID=SERP,5016.1\">\\xe7\\xbd\\x91\\xe9\\xa1\\xb5</a></li><li class=\"\" data-menuUrl=\"\"\\r\\n    id=\"b-scopeListItem-images\"><a class=\"\" target=\"_self\" aria-current=\"false\" href=\"/images/search?q=api&amp;FORM=HDRSC2\" h=\"ID=SERP,5017.1\">\\xe5\\x9b\\xbe\\xe7\\x89\\x87</a></li><li class=\"\" data-menuUrl=\"\"\\r\\n    id=\"b-scopeListItem-video\"><a class=\"\" target=\"_self\" aria-current=\"false\" href=\"/videos/search?q=api&amp;FORM=HDRSC3\" h=\"ID=SERP,5018.1\">\\xe8\\xa7\\x86\\xe9\\xa2\\x91</a></li><li class=\"\" data-menuUrl=\"\"\\r\\n    id=\"b-scopeListItem-academic\"><a class=\"\" target=\"_self\" aria-current=\"false\" href=\"/academic/search?q=api&amp;FORM=HDRSC4\" h=\"ID=SERP,5019.1\">\\xe5\\xad\\xa6\\xe6\\x9c\\xaf</a></li><li class=\"\" data-menuUrl=\"\"\\r\\n    id=\"b-scopeListItem-dictionary\"><a class=\"\" target=\"_self\" aria-current=\"false\" href=\"/dict/search?q=api&amp;FORM=HDRSC6\" h=\"ID=SERP,5020.1\">\\xe8\\xaf\\x8d\\xe5\\x85\\xb8</a></li><li class=\"\" data-menuUrl=\"\"\\r\\n    id=\"b-scopeListItem-local\"><a class=\"\" target=\"_self\" aria-current=\"false\" href=\"/maps?q=api&amp;FORM=HDRSC7\" h=\"ID=SERP,5021.1\">\\xe5\\x9c\\xb0\\xe5\\x9b\\xbe</a></li></ul></nav></header><script type=\"text/javascript\">//<![CDATA[\\nvar logMetaError=function(n){(new Image).src=_G.lsUrl+\\'&Type=Event.ClientInst&DATA=[{\"T\":\"CI.MetaError\",\"FID\":\"CI\",\"Name\":\"MetaJSError\",\"Text\":\"\\'+escape(n)+\\'\"}]\\'},getHref=function(){return location.href},regexEscape;try{regexEscape=function(n){return n.replace(/([.?*+^$&[\\\\]\\\\\\\\(){}|<>-])/g,\"\\\\\\\\$1\")};function jsErrorHandler(n){var s,r,y,p,u,f,w,e,h,c,o;try{if(s=\"ERC\",r=window[s],r=r?r+1:1,r===16&&(n=new Error(\"max errors reached\")),r>16)return;window[s]=r;var l=n.error||n,b=\\'\"noMessage\"\\',k=n.filename,d=n.lineno,g=n.colno,nt=n.extra,a=l.severity||\"Error\",tt=l.message||b,i=l.stack,t=\\'\"\\'+escape(tt.replace(/\"/g,\"\"))+\\'\"\\',it=new RegExp(regexEscape(getHref()),\"g\");if(i){for(y=/\\\\(([^\\\\)]+):[0-9]+:[0-9]+\\\\)/g,u={};(p=y.exec(i))!==null;)f=p[1],u[f]?u[f]++:u[f]=1;e=0;for(h in u)u[h]>1&&(c=regexEscape(h),w=new RegExp(c,\"g\"),i=i.replace(w,e),i+=\"#\"+e+\"=\"+c,e++);i=i.replace(it,\"self\").replace(/\"/g,\"\");t+=\\',\"Stack\":\"\\'+(escape(i)+\\'\"\\')}if(k&&(t+=\\',\"Meta\":\"\\'+escape(k.replace(it,\"self\"))+\\'\"\\'),d&&(t+=\\',\"Line\":\"\\'+d+\\'\"\\'),g&&(t+=\\',\"Char\":\"\\'+g+\\'\"\\'),nt&&(t+=\\',\"ExtraInfo\":\"\\'+nt+\\'\"\\'),tt===b)if(a=\"Warning\",t+=\\',\"ObjectToString\":\"\\'+n.toString()+\\'\"\\',JSON&&JSON.stringify)t+=\\',\"JSON\":\"\\'+escape(JSON.stringify(n))+\\'\"\\';else for(o in n)n.hasOwnProperty(o)&&(t+=\\',\"\\'+o+\\'\":\"\\'+n[o]+\\'\"\\');var rt=(new Date).getTime(),ut=\\'\"T\":\"CI.\\'+a+\\'\",\"FID\":\"CI\",\"Name\":\"JS\\'+a+\\'\",\"Text\":\\'+t+\"\",ft=\"<E><T>Event.ClientInst<\\\\/T><IG>\"+_G.IG+\"<\\\\/IG><TS>\"+rt+\"<\\\\/TS><D><![CDATA[[{\"+ut+\"}]]\\\\]><\\\\/D><\\\\/E>\",et=\"<ClientInstRequest><Events>\"+ft+\"<\\\\/Events><STS>\"+rt+\"<\\\\/STS><\\\\/ClientInstRequest>\",v=new XMLHttpRequest;v.open(\"POST\",\"/fd/ls/lsp.aspx?\",!0);v.setRequestHeader(\"Content-Type\",\"text/xml\");v.send(et);typeof sj_evt!=\"undefined\"&&sj_evt.fire(\"ErrorInstrumentation\",t)}catch(ot){logMetaError(\"Failed to execute error handler. \"+ot.message)}}window.addEventListener&&window.addEventListener(\"error\",jsErrorHandler,!1);window.addEventListener||window.onerror||(window.onerror=function(n,t,i,r,u){var f=\"\",e;typeof n==\"object\"&&n.srcElement&&n.srcElement.src?f=\"\\\\\"ScriptSrc = \\'\"+escape(n.srcElement.src.replace(/\\'/g,\"\"))+\"\\'\\\\\"\":(n=\"\"+n,f=\\'\"\\'+escape(n.replace(/\"/g,\"\"))+\\'\",\"Meta\":\"\\'+escape(t)+\\'\",\"Line\":\\'+i+\\',\"Char\": \\'+r,u&&u.stack&&(e=new RegExp(regexEscape(getHref()),\"g\"),f+=\\',\"Stack\":\"\\'+escape(u.stack.replace(e,\"self\").replace(/\"/g,\"\")+\\'\"\\')));(new Image).src=_G.lsUrl+\\'&Type=Event.ClientInst&DATA=[{\"T\":\"CI.GetError\",\"FID\":\"CI\",\"Name\":\"JSGetError\",\"Text\":\\'+f+\"}]\";typeof sj_evt!=\"undefined\"&&sj_evt.fire(\"ErrorInstrumentation\",f)})}catch(e){logMetaError(\"Failed to bind error handler \"+e.message)};var sj_b=_d.body;(function(n){var i,r,t;if(document.querySelector){i=[];r=\"ad\";function u(){var w=sb_gt(),l=document.documentElement,s=document.body,t=0,r=-1,b=l.clientHeight,a=[\"#b_results .\"+_G.adc,\".sb_adsWv2\",\".ads\"],n,f,e,p,c,o,u;if(s){n=0;f=document.querySelector(\"#b_pole .pa_carousel_mlo\");f&&(n=f.offsetHeight,r=f.offsetTop);var v=document.querySelector(\"#b_results #productAdCarousel\"),h=document.querySelector(\"#b_results .pa_b_supertop\"),y=document.querySelector(\"#b_results .bn_wide\");for(h?(r=h.offsetTop,n=h.offsetHeight):y?n+=y.offsetHeight:v&&(n+=v.offsetHeight),t=n,e=0;e<a.length;e++)for(p=a[e],c=document.querySelectorAll(p),o=0;o<c.length;o++)u=c[o],u&&u.className.indexOf(\"b_adTop\")!==-1&&(t+=u.offsetHeight,r===-1&&(r=u.offsetTop));t===0&&(t=-1);i=[r,t,l.clientWidth,b,s.offsetWidth,s.offsetHeight,sb_gt()-w]}}n?(t=n.onbeforefire,n.onbeforefire=function(){t&&t();u();n.mark(r,i)}):(t=si_PP,si_PP=function(){u();var n=\\'\"\\'+r+\\'\":[\\'+i.join()+\"]\";_G.C1=_G.C1?_G.C1+\",\"+n:n;t.apply(null,[].slice.apply(arguments))})}})(_w.pp);_w.AM=[\"live.com\",\"azureedge.net\",\"virtualearth.net\",\"windows.net\",\"onenote\",\"hexun.com\",\"dict.bing.com.cn\",\"msn.com\",\"variflight.com\",\"bing.net\",\"msftoffers.com\",\"chinacloudapp.cn\",\"cbsnews.com\",\"swx.cdn.skype.com\",\"swc.cdn.skype.com\",\"latest-swx.cdn.skype.com\",\"a.config.skype.com\",\"b.config.skype.com\",\"platform.bing.com\",\"microsofttranslator.com\",\"bing.com\",\"facebook.net\",\".delve.office.com\",\".uservoice.com\",\".cdn.office.net\",\"platform.twitter.com\",\"cdn.syndication.twimg.com\",\"spoprod-a.akamaihd.net\",\"bingstatic.com\",\"yahoo.co.jp\",\"youtube.com\",\"ytimg.com\",\"r.msftstatic.com\",\"rafd.bing.com\",\"rafd.staging-bing-int.com\",\"raka.bing.com\",\"r.bing.com\",\"r.staging-bing-int.com\",\"raka.staging-bing-int.com\",\"s.cn.bing.net\",\"xpaycdn-int.azureedge.net\",\"xpaycdn.azureedge.net\",\"ssl.kaptcha.com\",\"tst.kaptcha.com\",\"snrproxy.binginternal.com\",\"snrproxyeast.binginternal.com\",\"snrproxync.binginternal.com\",\"snrproxywest.binginternal.com\",\"cetonc.binginternal.com\",\"cetoeast.binginternal.com\",\"cetowest.binginternal.com\",\"akam.bing.com\",\"akam.staging-bing-int.com\",\"akamproxyeast.staging-bing-int.com\",\"akamproxync.staging-bing-int.com\",\"akamproxywest.staging-bing-int.com\",\"pgcfiopdkeihpaaegdiaooffokkpflcm\"];_w.APD=[\".delve.office.com\",\".uservoice.com\",\".cdn.office.net\",\"a.config.skype.com\",\"abcnews.go.com\",\"amazon.com\",\"apps.powerapps.com\",\"app.powerbi.com\",\"app.powerbi.cn\",\"app.powerbi.de\",\"app.powerbigov.us\",\"b.config.skype.com\",\"bfb\",\"bfb-int\",\"bing.com\",\"bing.net\",\"bing-int.com\",\"bingsandbox.com\",\"bingweathermap.azureedge.net\",\"bloomberg.com\",\"c.tenor.com\",\"cbsnews.com\",\"cdn.syndication.twimg.com\",\"channel9.msdn.com\",\"chinacloudapp.cn\",\"clarity.ms\",\"cnn.com\",\"covid19healthbot.cdc.gov\",\"covid19healthbot-dev.cdc.gov\",\"ctmbing.azurefd.net\",\"dailymotion.com\",\"dict.bing.com.cn\",\"downvids.com\",\"downvids.net\",\"edition.cnn.com\",\"embed.vevo.com\",\"euronews.com\",\"facebook.com\",\"fave.api.cnn.io\",\"hexun.com\",\"huffingtonpost.com\",\"idsync.rlcdn.com\",\"ign.com\",\"imdb.com\",\"latest-swx.cdn.skype.com\",\"live.com\",\"login.live-int.com\",\"mashable.com\",\"microsoft.com\",\"microsoftonline.com\",\"microsofttranslator.com\",\"mathsolver.microsoft.com\",\"msecnd.net\",\"msftoffers.com\",\"msit.powerbi.com\",\"msn.com\",\"mtv.com\",\"onenote\",\"photosynth.net\",\"platform.bing.com\",\"platform.twitter.com\",\"powerbi-df.analysis-df.windows.net\",\"r.msftstatic.com\",\"rafd.bing.com\",\"rafd.staging-bing-int.com\",\"raka.bing.com\",\"r.bing.com\",\"r.staging-bing-int.com\",\"raka.staging-bing-int.com\",\"rottentomatoes.com\",\"s.cn.bing.net\",\"skype.com\",\"snrproxy.binginternal.com\",\"snrproxyeast.binginternal.com\",\"snrproxync.binginternal.com\",\"snrproxywest.binginternal.com\",\"spoprod-a.akamaihd.net\",\"substrate.office.com\",\"swc.cdn.skype.com\",\"swx.cdn.skype.com\",\"variflight.com\",\"video.disney.com\",\"videoplayercdn.osi.office.net\",\"vimeo.com\",\"azureedge.net\",\"virtualearth.net\",\"web.powerapps.com\",\"widgets.icanbuy.com\",\"widgets.ign.com\",\"windows.net\",\"wsj.com\",\"xpaycdn-int.azureedge.net\",\"xpaycdn.azureedge.net\",\"ssl.kaptcha.com\",\"tst.kaptcha.com\",\"yahoo.co.jp\",\"youtube.com\",\"ytimg.com\",\"zdnet.com\",\"chrome-extension://haldlgldplgnggkjaafhelgiaglafanh\",\"player.twitch.tv\",\"mixer.com\",\"3pcookiecheck.azureedge.net\",\"cetonc.binginternal.com\",\"cetoeast.binginternal.com\",\"cetowest.binginternal.com\",\"akam.bing.com\",\"akam.staging-bing-int.com\",\"akamproxyeast.staging-bing-int.com\",\"akamproxync.staging-bing-int.com\",\"akamproxywest.staging-bing-int.com\",\"pgcfiopdkeihpaaegdiaooffokkpflcm\"];_w.APC=[\"bm_\",\"fb_\",\"panelWrapper\",\"df_topAlAs\",\"df_playBut\",\"df_vidTime\",\"na_cai\",\"ckt_\",\"Light\",\"Dark\",\"taskbar\",\"ssSIV\",\"square_\",\"partial-det\",\"tall_\",\"item\",\"sw_\",\"sb_\",\"sml\",\"ftrd\",\"sa_\",\"id_\",\"sc_\",\"flt_\",\"fc_\",\"cca\",\"tab-\",\"emb\",\"ctx\",\"dc_\",\"cipa\",\"dict\",\"btm\",\"wtr\",\"wpc\",\"fin\",\"sp-\",\"carousel\",\"vp_\",\"vid\",\"nav_\",\"vt\",\"va_\",\"avc\",\"cic\",\"sports\",\"lc_\",\"bing\",\"dmap_\",\"pvc_\",\"ans_\",\"mcd\",\"composite\",\"mt_\",\"irp\",\"iap\",\"tv\",\"aggtv\",\"irhc\",\"vrh\",\"det\",\"tit\",\"sub\",\"col\",\"card\",\"hlsel\",\"hlblk\",\"ovl\",\"ctpt\",\"bubble\",\"memodal\",\"meoverlay\",\"c_\",\"spl-\",\"microsoft\",\"skp\",\"saa\",\"unlockButton\",\"overlay\",\"MapPushpinBase\",\"pa_\",\"aa_\",\"skype_\",\"ftrSbR\",\"quizContainer\",\"alrt_\",\"st_\",\"expan\",\"word\",\"rpt_\",\"o_\",\"e_\",\"searchbar\",\"row\",\"Traffic\",\"tl\",\"gray\",\"bep\",\"wk_\",\"crs_\",\"w10\",\"personal\",\"fs3_\",\"ezp_\",\"hp\",\"post\",\"mc_\",\"fb\",\"lgb\",\"el_\",\"perf\",\"stb\",\"PP\",\"bw\",\"infobubble\",\"l_\",\"ms-\",\"NavBar_\",\"cmt_\",\"bottom\",\"Copyright\",\"upsell\",\"ab_\",\"w_\",\"hlig\",\"eachStep\",\"close_\",\"cGifIcon\",\"cThIcon\",\"autosuggest\",\"showtimesMovie\",\"sel\",\"dish\",\"formatShowtimes\",\"wp_\",\"hasExpandText\",\"forecast\",\"as_\",\"ecmp\",\"cmp\",\"comp\",\"userChat\",\"bot\",\"bTyp\",\"team\",\"serp\",\"preG\",\"option\",\"azBxInsert\",\"ec_\",\"cs_\",\"spin\",\"skype-conversation\",\"conversation\",\"fs_\",\"grammarly\",\"filterBar\",\"withFilters\",\"textanno\",\"mv_lm\",\"usagTpVsDosage\",\"trans_button_group\",\"algo_action_template\",\"meg_item\",\"ev_\",\"ol_\",\"offer\",\"embed\",\"videoplayercdn\",\"searchNearby\",\"directionsPanel\",\"dragOverlay\",\"infobox\",\"mss\",\"noneG\",\"usage\",\"drImp\",\"sf_\",\"dfindOverModal\",\"circuit\",\"swc\",\"CodeMirror\",\"cm-s-default\",\"msg msg-warning\",\"LogoContainer\",\"quadrantOverride\",\"ac-\",\"gc-\",\"fsmd-\",\"fsg-\",\"fsmf-\",\"msto_\",\"rq\",\"geoItm\",\"bqaq_quotes\",\"bqap_padding\",\"loc\",\"ent_cnt\",\"r_mf\",\"exp_\",\"btOverlay\",\"mnot_container\",\"info_C\",\"ev_talkbox_notification\",\"ev_talkbox_wrapper_min\",\"p_tr_\",\"slide\",\"bnc-\",\"itr_poi\",\"cg-\",\"elmlr_\",\"scrl\",\"gam-\",\"htv-\",\"genel-\",\"gs_\",\"qo_\",\"jss_\",\"mapsresp\",\"geochainContainer\",\"scaleBar\",\"ae-\",\"CalendarSync\",\"spl_\",\"adbDef\",\"layerFrame\",\"esp-\",\"elis-\",\"elcan-\",\"elec-\",\"sharegeneralcard\",\"edu_\",\"br-\",\"covt_dd\",\"covt_dd_sel\",\"msac_sel\",\"msac_ddi\",\"cov_tt_tr\",\"cov_tt_tn\",\"cov_\",\"dr_\",\"bt_\",\"epv_\",\"rich_card\",\"mf-item-cntr\",\"footer_mcp\",\"ntro-\",\"ntro_\",\"th-answer-explanation-wrapper\",\"th-questions-completed\",\"th-next-question\",\"th-modal-wrapper\",\"th-show-hint-wrapper\",\"th-show-hint-description\",\"th-show-hint-example\",\"th-word-carousel\",\"th-audio-player\",\"retail_btf\",\"na_\",\"news_\",\"nws_\",\"scs_\",\"scadt\",\"jb_\",\"peregrine-\",\"opalfeedblock\",\"expnd_c\",\"wfr_grid  ldeft\",\"rwgradienttitle\",\"azuremediaplayer\",\"amp-\",\"vjs-\",\"logo-title-row\",\"rwrl\",\"wpt_hdrs\",\"actionitem\",\"tb_\"];_w.APN=[\"fb_ovrly_cnt\",\"b_bfb\",\"b_bfb_rightrail\"];0;(function(){function t(t,i){if(!t)return!1;var u=t.tagName;return(u===\"SCRIPT\"&&(n.href=t.src)||u===\"OBJECT\"&&t.type&&t.type.indexOf(\"flash\")>0&&(n.href=t.data))&&n.href.length>0&&n.hostname.length>0&&n.hostname!==location.hostname&&!e(n.hostname)?(sj_log(\"CI.AntiMalware\",i,u.substr(0,1)+\":\"+n.href.substr(0,r)),!1):!0}function e(n){for(var t=0;t<i.length;t++)if(n.indexOf(i[t])>=0)return!0;return!1}var i=_w.AM,r=100,n=document.createElement(\"A\"),u,f;document.write=function(n){n.length>0&&sj_log(\"CI.AntiMalware\",\"DW\",n.substr(0,r))};typeof Element!=\"undefined\"&&Element.prototype&&(u=Element.prototype.appendChild,Element.prototype.appendChild=function(n){return t(n,\"AC\")?u.apply(this,arguments):null},f=Element.prototype.insertBefore,Element.prototype.insertBefore=function(n){return t(n,\"IB\")?f.apply(this,arguments):null})})();_G!==undefined&&_G.EF!==undefined&&_G.EF.bmasynctrigger===1&&window.requestAnimationFrame!==undefined&&document.visibilityState!==undefined&&document.visibilityState===\"visible\"?requestAnimationFrame(function(){setTimeout(function(){BM.trigger()},0)}):BM.trigger();var AwayTimeThreshold = 60;;var bodyZoomParams ={\"bodyZoomValue\":\"1.05\",\"browserWidth\":1536,\"browserHeight\":736,\"isZoomOut\":false,\"muidCheckEnabled\":true,\"isNewMuid\":true};;var BodyZoomAdjust;(function(){function e(e){var c=sj_cook.get(t,n),l=e&&e.length>1?e[1]:c==null||c===\"1\",s,h;i&&(o&&l?(s=100,navigator.userAgent.match(/Mozilla\\\\/4\\\\.0/i)||navigator.userAgent.match(/Edge/)?_w.screen&&(s=Math.round(screen.deviceXDPI/screen.systemXDPI*100)):s=navigator.userAgent.match(/Trident/)?Math.round(_w.devicePixelRatio*100):Math.round(_w.outerWidth/_w.innerWidth*100),s>=98&&s<=102&&(h=bodyZoomParams.muidCheckEnabled&&f,Log&&Log.Log&&Log.Log(\"BodyZoomAdjust\",\"ZoomLevel\",bodyZoomParams.bodyZoomValue,!1,\"isNewMuid\",h?\"1\":\"0\",\"_w.innerWidth\",_w.innerWidth.toString(),\"_w.innerHeight\",_w.innerHeight.toString()),h&&sj_cook.set(r,\"NU\",\"1\",!0,\"/\"),sj_cook.set(t,n,\"1\",!1,\"/\",u),i.style.zoom=bodyZoomParams.bodyZoomValue)):(sj_cook.set(t,n,\"0\",!1,\"/\",u),e&&e.length>1&&!l&&(i.style.zoom=\"1\")))}var r=\"MUIDV\",u=43200,n=\"BZA\",t=\"SRCHHPGUSR\",i=_d.querySelector(\"body\"),f=bodyZoomParams.isNewMuid||sj_cook.get(r,\"NU\")==\"1\",o=(!bodyZoomParams.muidCheckEnabled||f)&&(bodyZoomParams.isZoomOut?_w.innerWidth<bodyZoomParams.browserWidth&&_w.innerHeight<bodyZoomParams.browserHeight:_w.innerWidth>bodyZoomParams.browserWidth&&_w.innerHeight>bodyZoomParams.browserHeight);e();sj_evt.bind(\"updateBodyZoomLevel\",function(n){e(n)})})(BodyZoomAdjust||(BodyZoomAdjust={}));var Identity; (function(Identity) { Identity.sglid =false; Identity.orgIdPhotoUrl =\"https://business.bing.com/api/v3/search/person/photo?caller=IP\\\\u0026id={0}\"; Identity.setLoginPreference =false})(Identity || (Identity = {}));;var wlc_d =10, wlc_t =63782503969, wlc_wfa =false;;var DynScopes;(function(n){function r(n,r,o){i||(t=n,sj_evt.fire(\"dynamicscopesrearranging\",r),f(r),e(o),sj_evt.bind(\"onP1\",u),i=!0)}function u(){if(sj_cook&&sj_cook.set&&sj_cook.clear){var n=\"dsc\";sj_cook.clear(n,\"/\");t&&sj_cook.set(n,\"order\",t,!1,\"/\")}}function f(n){var r=o(),i,e,s,t;if(r){if(n){var h=n.split(\",\"),u=r.children,c=u.length,f=[];for(t=0;t<h.length;t++)i=h[t].split(\":\"),i&&i.length==2&&(e=parseInt(i[0]),s=parseInt(i[1]),e<c&&s<c&&(f[s]=u[e].innerHTML));for(t=0;t<f.length;t++)u[t].innerHTML=f[t]}r.className=\"\"}}function e(n){var u,f,t,e,i,h,r,o;if(n&&(f=n.split(\":\"),t=s(),(u=t===null||t===void 0?void 0:t.children)===null||u===void 0?void 0:u.length))for(e=t.children,i=0;i<f.length;i++)for(h=\"b-scopeListItem-\"+f[i],r=0;r<e.length;r++)if(o=e[r],o.id===h){t.removeChild(o);break}}function o(){var n=_d.querySelectorAll(\".b_scopebar > .b_scopehide\");return n&&n.length>0?n[0]:null}function s(){var n=_d.querySelectorAll(\".b_scopebar\");return(n===null||n===void 0?void 0:n.length)?n[0].firstChild:null}var i=!1,t;n.init=r})(DynScopes||(DynScopes={}));0;0;_G.AppVer=\"27435725\";\\n//]]></script><script type=\"text/javascript\" >//<![CDATA[\\r\\n_G.FCT=new Date;\\r\\n//]]></script><script type=\"text/javascript\" >//<![CDATA[\\r\\n_G.BCT=new Date;\\r\\n//]]></script><style type=\"text/css\">a{z:1}#b_content a.b_LinksColorMD,#b_content a:visited.b_LinksColorMD{color:#1a73e8}.b_CursorProgress{cursor:progress}z{a:1}z{a:1}.wr_fav{vertical-align:inherit;margin-right:6px;margin-left:-22px;display:inline-block}#b_results .b_title a:hover+h2,#b_results .btitle a:hover+h2{text-decoration:underline}.siz16{width:16px;height:16px}.greyfav{filter:grayscale(100%);opacity:.7}#b_results .b_ans:hover .favhov.greyfav,#b_results .b_algo:hover .favhov.greyfav{filter:none;opacity:1}#b_results .btitle wr_fav:hover+h2{text-decoration:underline}#b_results #nws_ht .btitle .wr_fav{vertical-align:super}.sh_favicon+h2{display:inline-block}.wr_fav .cico{border-radius:0;overflow:unset}#b_results li.b_ans.b_mop.b_mopb .wr_fav,#b_results li.b_ans.b_nonfirsttopb .wr_fav,#b_results li.b_ans.b_bop .wr_fav,.b_algo.b_algoBorder .wr_fav,.b_ansb .wr_fav,#b_results>li.b_ans.b_topborder .wr_fav,#b_results>li.b_ans.b_topborder.b_tophb.b_topshad .wr_fav,.b_title .wr_fav.b_hide{display:none}z{a:1}.b_caption.b_snippetgobig p{font-size:18px;line-height:24px !important;color:#111}.b_algo.b_algoBorder{box-shadow:0 0 0 1px rgba(0,0,0,.05),0 2px 3px 0 rgba(0,0,0,.1);border-radius:6px}#b_results>li.b_algoBorder{margin-top:8px;padding-top:15px}#b_results>li.b_algoBorder.b_algo_feedback{margin-bottom:19px;position:relative}.b_gobig_feedback{position:absolute;right:19px;bottom:-21px;font-size:11px}#b_results>li.b_algoBorder.b_algo_feedback+li.b_ans.b_mop.b_mopb{margin-top:28px}#b_results .b_attribution .lock_icon .siz12{vertical-align:inherit;width:12px;height:12px;margin-right:4px}#b_results .b_attribution .secure_icon>svg{vertical-align:-10%;width:48px;height:16px;margin-right:4px}#b_results .b_attribution .secure_slug_icon>svg{vertical-align:-10%;width:48px;height:14px;margin-right:4px}a{a:1}.sb_pagP_bp:after{-webkit-transform-origin:-1394px 0;transform-origin:-1394px 0}.sb_pagP_bp:hover:after,.sb_pagP_bp:active:after,.sb_pagP_bp:focus:after{-webkit-transform-origin:-1478px 0;transform-origin:-1478px 0}.sb_pagN_bp:after{-webkit-transform-origin:-1394px 0;transform-origin:-1394px 0}.sb_pagN_bp:hover:after,.sb_pagN_bp:active:after,.sb_pagN_bp:focus:after{-webkit-transform-origin:-1478px 0;transform-origin:-1478px 0}.sb_inactP:after,.sb_inactP:hover:after{-webkit-transform-origin:-1562px 0;transform-origin:-1562px 0}.b_pag a{display:block;text-align:center}.b_pag a.sb_bp{min-width:40px;margin-right:20px;line-height:42px}.b_pag a.sb_pagN,.b_pag a.sb_pagP{border:0;padding:1px}.b_pag a.sb_pagN_bp,.b_pag a.sb_pagP_bp{width:40px;height:40px;margin-top:0}.b_pag a.sb_bp.sb_inactP{min-width:38px}.b_pag a.sb_pagP_bp.sb_inactP{width:38px}.b_pag a.b_roths{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.b_pag .sw_prev,.b_pag .sw_next{margin:2px}@media screen and (-ms-high-contrast:active){.sb_pagN:after,.sb_pagP:after{content:\"\"}li.b_pag a.sb_pagN,li.b_pag a.sb_pagP{width:auto}li.b_pag a.b_roths{-webkit-transform:rotate(0deg);transform:rotate(0deg)}.b_pag .sw_next,.b_pag .sw_prev{display:block}}#mfa_root .fba_sbicn{background:url(/rp/i3t3vGbFsQ-XpUOCob6i88omBUs.png) no-repeat -86px 0;transform:scale(.5)}#b_results>li#mfa_root{right:0;position:fixed;z-index:1011;background-color:transparent;pointer-events:none}#mfa_root .b_ds5{transform:none;transition:transform .4s cubic-bezier(.3,.55,.1,1),opacity .1s;opacity:1;z-index:1011;align-self:flex-end;pointer-events:initial;border-radius:50%;overflow:hidden}#mfa_root.b_fabHide .b_ds5{pointer-events:none;transform:translateX(30px);opacity:0}#mfa_root .b_ds5:active{opacity:.8}#mfa_root .mfa_btn{display:flex;align-items:center;justify-content:center;cursor:pointer}a{z:1}a{z:1}#b_results>li#mfa_root { padding: 40px; bottom: 0px; ; } #mfa_root .mfa_btn { background: #fff; width: 56px; height: 56px; }.b_ds5{box-shadow:0 0 0 1px rgba(0,0,0,.08),0 4px 12px 1px rgba(0,0,0,.2);-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.08),0 4px 12px 1px rgba(0,0,0,.2)}a.b_ds5:hover,input.b_ds5:hover{box-shadow:0 0 0 1px rgba(0,0,0,.08),0 4px 14px 2px rgba(0,0,0,.24);-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.08),0 4px 14px 2px rgba(0,0,0,.24)}#b_context.crhide,#b_mtp.crhide{display:none}#b_context.crinvis,#b_mtp.crinvis{visibility:hidden}#b_mtp{display:inline-block;visibility:hidden}#b_mtp:not(.crhide),#b_mtp *{display:inline-block;overflow:hidden;visibility:visible;color:#666}#b_context.crshow,.mtpsvg.crshow{opacity:1}#b_context,.mtpsvg{opacity:0;transition:opacity .3s}#b_mtp{width:336px;margin-left:10px;vertical-align:top}.mtprt{height:48px;background:#fff;box-shadow:0 4px 6px 1px rgba(0,0,0,.2),0 0 0 1px rgba(0,0,0,.05);margin:10px 0 8px 0;border-radius:24px 0 0 24px;cursor:pointer;float:right}.mtpseem{margin:0 20px 0 4px;line-height:48px;font-size:13px;float:right}.mtprt img{width:40px;height:40px;margin:4px}.mtprt img{border-radius:20px}#b_mtp .mtpchv{margin:0 0 12px -28px;transform:rotate(90deg)}#b_mtp:not(.crhide) .mtprt{transform:translateX(100%);animation:mtp-in .3s cubic-bezier(0,0,.58,1) forwards}#b_mtp.mtpslidert .mtprt{transform:translateX(0%);animation:mtp-out .3s cubic-bezier(0,0,.58,1) forwards}@keyframes mtp-in{100%{transform:translateX(0%)}}@keyframes mtp-out{100%{transform:translateX(100%)}}body #b_opalpers .b_op_flyout{top:215px}#b_dynRail{display:inline-block;vertical-align:top;padding-left:60px;max-width:472px;width:472px}#b_dynRail .b_dr_mod:not(:last-child){margin-bottom:10px}@media only screen and (max-width:1908.9px){#b_dynRail{width:382px}}@media only screen and (max-width:1818.9px){#b_dynRail{width:294px}}@media only screen and (max-width:1730.9px){#b_dynRail{display:none}}#b_dynRail .b_entity{margin-bottom:20px;padding:9px 19px 4px;width:100%;box-shadow:0 0 0 1px rgba(0,0,0,.05),0 2px 3px 0 rgba(0,0,0,.1);border-radius:6px}#b_footerItems br{display:none}#b_footerItems .b_footerItems_icp>span{margin-left:0}@media(max-width:1280px){#b_footerItems>span{position:relative;margin-top:24px}#b_footerItems br{display:block}}z{a:1}body.b_lbShow #b_lbOverlay{background:rgba(0,0,0,.2)}@media(prefers-reduced-motion){#b_lbOverlay{transition-duration:.01ms !important;-webkit-transition-duration:.01ms !important;-ms-transition-duration:.01ms !important;-moz-transition-duration:.01ms !important}}#b_lbOverlay{position:fixed;top:0;left:0;background:rgba(0,0,0,0);transition:background-color 300ms;-webkit-transition:background-color 300ms;-ms-transition:background-color 300ms;-moz-transition:background-color 300ms;z-index:1001;display:block}body.b_lbShow #b_header{z-index:auto}body.b_lbShow #sb_form .b_searchboxForm{position:relative;z-index:1002}body.b_lbShow div#mHeader,body.b_lbShow .sw_sform,body.b_lbShow.as_on #b_header #sw_as{z-index:1002}#b_results h2 #kn_p,#b_results h3 #kn_p,#b_results h4 #kn_p{position:relative;display:inline}#b_pole #kn_p,.b_ans #kn_p{display:none}#kn_a{color:#001ba0;font:14px arial;left:-20px;position:absolute;top:25%}.b_title #kn_a,.b_overflow #kn_a{left:-3px;position:relative}</style><script type=\"text/javascript\">//<![CDATA[\\nfunction ge_cl(n,t){var u,f,r,i;if(n){if(n.getElementsByClassName)return n.getElementsByClassName(t);for(u=n.getElementsByTagName(\"*\"),f=[],r=0;r<u.length;r++)i=u[r],i&&i.className&&i.className.indexOf(t)!==-1&&f.push(i);return f}return[]};function sa_cl(n,t,i){if(n&&t){var r=n.className;i?r.indexOf(t)==-1&&(r=r.concat(\" \",t)):r=r.replace(t,\"\");n.className=r}};var EntityPreviewConfig = { featureList: \"\", testHooks: false };\\n//]]></script><script type=\"text/javascript\">//<![CDATA[\\n0;var fab_config ={\"fabStyle\":1,\"fabSbAction\":\"FocusSearchBox\",\"fabSbActionHover\":\"None\",\"fabSbActionData\":\"None\",\"fabTooltip\":\"\",\"micFabAlwaysVisible\":false};;\\n//]]></script><div id=\"b_content\"><main aria-label=\"\\xe6\\x90\\x9c\\xe7\\xb4\\xa2\\xe7\\xbb\\x93\\xe6\\x9e\\x9c\"><div id=\"b_tween\" class=\"null\"><span class=\"sb_count\">40 \\xe6\\x9d\\xa1\\xe7\\xbb\\x93\\xe6\\x9e\\x9c</span></div><ol id=\"b_results\" class=\"\"><li class=\"b_algo\"><div class=\"b_title\"><a target=\"_blank\" class=\"sh_favicon\" href=\"https://www.goodreads.com/api\" h=\"ID=SERP,5081.1\"><div class=\"wr_fav\" data-priority=\"2\"><img class=\"siteicon rms_img\" alt=\"\\xe5\\x85\\xa8\\xe7\\x90\\x83 Web \\xe5\\x9b\\xbe\\xe6\\xa0\\x87\" height=\"16\" width=\"16\" src=\"\" /></div></a><h2><a target=\"_blank\" href=\"https://www.goodreads.com/api\" h=\"ID=SERP,5086.1\"><strong>API</strong> - Goodreads</a></h2></div><div class=\"b_caption\"><div class=\"b_attribution\"><cite>https://www.goodreads.com/<strong>api</strong></cite></div><p>\\xe7\\x94\\xb1\\xe4\\xba\\x8e\\xe6\\xad\\xa4\\xe7\\xbd\\x91\\xe7\\xab\\x99\\xe7\\x9a\\x84\\xe8\\xae\\xbe\\xe7\\xbd\\xae\\xef\\xbc\\x8c\\xe6\\x88\\x91\\xe4\\xbb\\xac\\xe6\\x97\\xa0\\xe6\\xb3\\x95\\xe6\\x8f\\x90\\xe4\\xbe\\x9b\\xe8\\xaf\\xa5\\xe9\\xa1\\xb5\\xe9\\x9d\\xa2\\xe7\\x9a\\x84\\xe5\\x85\\xb7\\xe4\\xbd\\x93\\xe6\\x8f\\x8f\\xe8\\xbf\\xb0\\xe3\\x80\\x82</p></div></li><li class=\"b_algo\"><div class=\"b_title\"><a target=\"_blank\" class=\"sh_favicon\" href=\"https://tool.oschina.net/apidocs/apidoc?api=jdk_7u4\" h=\"ID=SERP,5092.1\"><div class=\"wr_fav\" data-priority=\"2\"><img class=\"siteicon rms_img\" alt=\"\\xe5\\x85\\xa8\\xe7\\x90\\x83 Web \\xe5\\x9b\\xbe\\xe6\\xa0\\x87\" height=\"16\" width=\"16\" src=\"\" /></div></a><h2><a target=\"_blank\" href=\"https://tool.oschina.net/apidocs/apidoc?api=jdk_7u4\" h=\"ID=SERP,5097.1\">\\xe5\\x9c\\xa8\\xe7\\xba\\xbf\\xe6\\x96\\x87\\xe6\\xa1\\xa3-<strong>jdk_7u4</strong> - OSCHINA</a></h2></div><div class=\"b_caption\"><div class=\"b_attribution\"><cite>https://tool.oschina.net/<strong>api</strong>docs/<strong>api</strong>doc?<strong>api</strong>=<strong>jdk_7u4</strong></cite></div><p>OSCHINA.NET\\xe5\\x9c\\xa8\\xe7\\xba\\xbf<strong>API</strong>\\xe6\\x96\\x87\\xe6\\xa1\\xa3\\xef\\xbc\\x8c\\xe6\\x8f\\x90\\xe4\\xbe\\x9bJava <strong>API</strong>\\xe3\\x80\\x81PHP\\xe6\\x96\\x87\\xe6\\xa1\\xa3\\xe3\\x80\\x81C\\xe8\\xaf\\xad\\xe8\\xa8\\x80\\xe5\\x8f\\x82\\xe8\\x80\\x83\\xe3\\x80\\x81C++\\xe5\\x8f\\x82\\xe8\\x80\\x83\\xe3\\x80\\x81JQuery\\xe3\\x80\\x81Scala \\xe7\\xad\\x89\\xe5\\x8d\\x81\\xe5\\x87\\xa0\\xe7\\xa7\\x8d\\xe8\\xaf\\xad\\xe8\\xa8\\x80\\xe7\\x9a\\x84\\xe4\\xb8\\x80\\xe7\\x99\\xbe\\xe5\\xa4\\x9a\\xe7\\xa7\\x8d\\xe6\\x96\\x87\\xe6\\xa1\\xa3\\xe3\\x80\\x82 \\xe8\\xbf\\x94\\xe5\\x9b\\x9e<strong>API</strong>\\xe6\\x96\\x87\\xe6\\xa1\\xa3\\xe5\\x88\\x97\\xe8\\xa1\\xa8 \\xe7\\x83\\xad\\xe9\\x97\\xa8\\xe6\\x96\\x87\\xe6\\xa1\\xa3\\xef\\xbc\\x9a JDK7 J2EE6 Spring Hibernate PHP\\xe4\\xb8\\xad\\xe6\\x96\\x87\\xe6\\x96\\x87\\xe6\\xa1\\xa3 OSCHINA.NET\\xe5\\x9c\\xa8\\xe7\\xba\\xbf<strong>API</strong>\\xe6\\x96\\x87\\xe6\\xa1\\xa3\\xef\\xbc\\x8c\\xe6\\x8f\\x90\\xe4\\xbe\\x9bJava <strong>API</strong>\\xe3\\x80\\x81PHP\\xe6\\x96\\x87\\xe6\\xa1\\xa3 ...</p></div></li><li class=\"b_algo\"><div class=\"b_title\"><a target=\"_blank\" class=\"sh_favicon\" href=\"https://developer.nytimes.com/\" h=\"ID=SERP,5103.1\"><div class=\"wr_fav\" data-priority=\"2\"><img class=\"siteicon rms_img\" alt=\"\\xe5\\x85\\xa8\\xe7\\x90\\x83 Web \\xe5\\x9b\\xbe\\xe6\\xa0\\x87\" height=\"16\" width=\"16\" src=\"\" /></div></a><h2><a target=\"_blank\" href=\"https://developer.nytimes.com/\" h=\"ID=SERP,5109.1\">The New York Times</a></h2></div><div class=\"b_caption\"><div class=\"b_attribution\"><cite>https://developer.nytimes.com</cite></div><p>2022-2-17&ensp;&#0183;&ensp;The New York Times</p></div></li><li class=\"b_algo\"><div class=\"b_title\"><a target=\"_blank\" class=\"sh_favicon\" href=\"http://www.apichina.com.cn/\" h=\"ID=SERP,5115.1\"><div class=\"wr_fav\" data-priority=\"2\"><img class=\"siteicon rms_img\" alt=\"\\xe5\\x85\\xa8\\xe7\\x90\\x83 Web \\xe5\\x9b\\xbe\\xe6\\xa0\\x87\" height=\"16\" width=\"16\" src=\"\" /></div></a><h2><a target=\"_blank\" href=\"http://www.apichina.com.cn/\" h=\"ID=SERP,5121.1\">\\xe7\\xac\\xac88\\xe5\\xb1\\x8a\\xe4\\xb8\\xad\\xe5\\x9b\\xbd\\xe5\\x9b\\xbd\\xe9\\x99\\x85\\xe5\\x8c\\xbb\\xe8\\x8d\\xaf\\xe5\\x8e\\x9f\\xe6\\x96\\x99\\xe8\\x8d\\xaf/\\xe4\\xb8\\xad\\xe9\\x97\\xb4\\xe4\\xbd\\x93/\\xe5\\x8c\\x85\\xe8\\xa3\\x85/\\xe8\\xae\\xbe\\xe5\\xa4\\x87\\xe4\\xba\\xa4\\xe6\\x98\\x93\\xe4\\xbc\\x9a\\xef\\xbc\\x88<strong>API</strong> ...</a></h2></div><div class=\"b_caption\"><div class=\"b_attribution\"><cite>www.<strong>api</strong>china.com.cn</cite></div><p>2022-3-4&ensp;&#0183;&ensp;70000\\xe5\\xb9\\xb3\\xe7\\xb1\\xb3\\xe5\\xb1\\x95\\xe8\\xa7\\x88\\xe9\\x9d\\xa2\\xe7\\xa7\\xaf 60000\\xe5\\x90\\x8d\\xe8\\xa7\\x82\\xe4\\xbc\\x97 1500\\xe5\\xae\\xb6\\xe5\\xb1\\x95\\xe5\\x95\\x86 30\\xe4\\xbd\\x99\\xe5\\x9c\\xba\\xe4\\xbc\\x9a\\xe8\\xae\\xae\\xef\\xbc\\x9b\\xe4\\xba\\x9a\\xe5\\xa4\\xaa\\xe5\\x9c\\xb0\\xe5\\x8c\\xba\\xe8\\xa7\\x84\\xe6\\xa8\\xa1\\xe5\\xae\\x8f\\xe5\\xa4\\xa7,\\xe5\\xb1\\x95\\xe7\\xa4\\xba\\xe5\\x88\\xb6\\xe8\\x8d\\xaf\\xe5\\x8e\\x9f\\xe6\\x96\\x99\\xe8\\x8d\\xaf\\xe7\\x94\\xa8\\xe8\\xbe\\x85\\xe6\\x96\\x99\\xef\\xbc\\x8c\\xe5\\x8c\\xbb\\xe8\\x8d\\xaf\\xe5\\x8c\\x85\\xe8\\xa3\\x85\\xe5\\x88\\xb6\\xe8\\x8d\\xaf\\xe8\\xae\\xbe\\xe5\\xa4\\x87\\xef\\xbc\\x8c\\xe5\\x93\\x81\\xe7\\xa7\\x8d\\xe9\\xbd\\x90\\xe5\\x85\\xa8\\xe5\\xb9\\xb3\\xe5\\x8f\\xb0\\xef\\xbc\\x9b\\xe4\\xb8\\x93\\xe6\\xb3\\xa8\\xe4\\xba\\x8e\\xe6\\x8f\\x90\\xe9\\xab\\x98\\xe4\\xb8\\xad\\xe5\\x9b\\xbd\\xe5\\x8c\\xbb\\xe8\\x8d\\xaf\\xe5\\x8e\\x9f\\xe6\\x96\\x99\\xe8\\x8d\\xaf\\xe3\\x80\\x81\\xe4\\xb8\\xad\\xe9\\x97\\xb4\\xe4\\xbd\\x93\\xe3\\x80\\x81\\xe5\\x8c\\xbb\\xe8\\x8d\\xaf\\xe5\\x8c\\x85\\xe8\\xa3\\x85\\xe6\\x9d\\x90\\xe6\\x96\\x99\\xe3\\x80\\x81\\xe5\\x88\\xb6\\xe8\\x8d\\xaf\\xe8\\xae\\xbe\\xe5\\xa4\\x87\\xe4\\xbc\\x81\\xe4\\xb8\\x9a\\xe7\\x94\\x9f\\xe4\\xba\\xa7\\xe3\\x80\\x81\\xe7\\xa0\\x94\\xe5\\x8f\\x91\\xe7\\x9a\\x84\\xe6\\x95\\xb4\\xe4\\xbd\\x93\\xe6\\xb0\\xb4\\xe5\\xb9\\xb3\\xef\\xbc\\x8c\\xe4\\xb8\\xba\\xe5\\x85\\xac\\xe4\\xbc\\x97\\xe6\\x8f\\x90\\xe4\\xbe\\x9b\\xe5\\xae\\x89\\xe5\\x85\\xa8\\xe3\\x80\\x81\\xe5\\x81\\xa5\\xe5\\xba\\xb7\\xe7\\x9a\\x84\\xe7\\x94\\xa8\\xe8\\x8d\\xaf\\xe4\\xbf\\x9d\\xe9\\x9a\\x9c\\xe3\\x80\\x82</p></div></li><li class=\"b_algo\"><div class=\"b_title\"><a target=\"_blank\" class=\"sh_favicon\" href=\"https://open.tianyancha.com/\" h=\"ID=SERP,5127.1\"><div class=\"wr_fav\" data-priority=\"2\"><img class=\"siteicon rms_img\" alt=\"\\xe5\\x85\\xa8\\xe7\\x90\\x83 Web \\xe5\\x9b\\xbe\\xe6\\xa0\\x87\" height=\"16\" width=\"16\" src=\"\" /></div></a><h2><a target=\"_blank\" href=\"https://open.tianyancha.com/\" h=\"ID=SERP,5133.1\">\\xe5\\xa4\\xa9\\xe7\\x9c\\xbc\\xe6\\x9f\\xa5\\xe5\\xbc\\x80\\xe6\\x94\\xbe\\xe5\\xb9\\xb3\\xe5\\x8f\\xb0 | <strong>API</strong>\\xe6\\x95\\xb0\\xe6\\x8d\\xae\\xe6\\x8e\\xa5\\xe5\\x8f\\xa3 | \\xe4\\xbc\\x81\\xe4\\xb8\\x9a\\xe6\\x95\\xb0\\xe6\\x8d\\xae - \\xe5\\xa4\\xa9\\xe7\\x9c\\xbc\\xe6\\x9f\\xa5</a></h2></div><div class=\"b_caption\"><div class=\"b_attribution\"><cite>https://open.tianyancha.com</cite></div><p>2021-12-29&ensp;&#0183;&ensp;\\xe5\\xa4\\xa9\\xe7\\x9c\\xbc\\xe6\\x9f\\xa5\\xe4\\xb8\\x93\\xe6\\xb3\\xa8\\xe6\\x9c\\x8d\\xe5\\x8a\\xa1\\xe4\\xba\\x8e\\xe4\\xb8\\xaa\\xe4\\xba\\xba\\xe4\\xb8\\x8e\\xe4\\xbc\\x81\\xe4\\xb8\\x9a\\xe4\\xbf\\xa1\\xe6\\x81\\xaf\\xe6\\x9f\\xa5\\xe8\\xaf\\xa2\\xe5\\xb7\\xa5\\xe5\\x85\\xb7,\\xe4\\xb8\\xba\\xe6\\x82\\xa8\\xe6\\x8f\\x90\\xe4\\xbe\\x9b\\xe4\\xbc\\x81\\xe4\\xb8\\x9a\\xe6\\x9f\\xa5\\xe8\\xaf\\xa2,\\xe4\\xbf\\xa1\\xe6\\x81\\xaf\\xe6\\x9f\\xa5\\xe8\\xaf\\xa2,\\xe5\\xb7\\xa5\\xe5\\x95\\x86\\xe6\\x9f\\xa5\\xe8\\xaf\\xa2,\\xe4\\xbf\\xa1\\xe7\\x94\\xa8\\xe6\\x9f\\xa5\\xe8\\xaf\\xa2,\\xe5\\x85\\xac\\xe5\\x8f\\xb8\\xe6\\x9f\\xa5\\xe8\\xaf\\xa2\\xe7\\xad\\x89\\xe7\\x9b\\xb8\\xe5\\x85\\xb3\\xe4\\xbf\\xa1\\xe6\\x81\\xaf,\\xe5\\xb8\\xae\\xe6\\x82\\xa8\\xe5\\xbf\\xab\\xe9\\x80\\x9f\\xe4\\xba\\x86\\xe8\\xa7\\xa3\\xe4\\xbc\\x81\\xe4\\xb8\\x9a\\xe4\\xbf\\xa1\\xe6\\x81\\xaf,\\xe4\\xbc\\x81\\xe4\\xb8\\x9a\\xe5\\xb7\\xa5\\xe5\\x95\\x86\\xe4\\xbf\\xa1\\xe6\\x81\\xaf,\\xe4\\xbc\\x81\\xe4\\xb8\\x9a\\xe4\\xbf\\xa1\\xe7\\x94\\xa8\\xe4\\xbf\\xa1\\xe6\\x81\\xaf\\xe7\\xad\\x89\\xe4\\xbc\\x81\\xe4\\xb8\\x9a\\xe7\\xbb\\x8f\\xe8\\x90\\xa5\\xe5\\x92\\x8c\\xe4\\xba\\xba\\xe5\\x91\\x98\\xe6\\x8a\\x95\\xe8\\xb5\\x84\\xe7\\x8a\\xb6\\xe5\\x86\\xb5,\\xe6\\x9f\\xa5\\xe8\\xaf\\xa2\\xe6\\x9b\\xb4\\xe5\\xa4\\x9a\\xe4\\xbc\\x81\\xe4\\xb8\\x9a\\xe4\\xbf\\xa1\\xe6\\x81\\xaf\\xe5\\xb0\\xb1\\xe5\\x88\\xb0\\xe5\\xa4\\xa9\\xe7\\x9c\\xbc\\xe6\\x9f\\xa5\\xe5\\xae\\x98\\xe7\\xbd\\x91\\xef\\xbc\\x81</p></div></li><li class=\"b_algo\"><div class=\"b_title\"><a target=\"_blank\" class=\"sh_favicon\" href=\"https://api.mingdao.com/\" h=\"ID=SERP,5139.1\"><div class=\"wr_fav\" data-priority=\"2\"><img class=\"siteicon rms_img\" alt=\"\\xe5\\x85\\xa8\\xe7\\x90\\x83 Web \\xe5\\x9b\\xbe\\xe6\\xa0\\x87\" height=\"16\" width=\"16\" src=\"\" /></div></a><h2><a target=\"_blank\" href=\"https://api.mingdao.com/\" h=\"ID=SERP,5144.1\">\\xe6\\xac\\xa2\\xe8\\xbf\\x8e\\xe6\\x9d\\xa5\\xe5\\x88\\xb0\\xe6\\x98\\x8e\\xe9\\x81\\x93\\xe4\\xba\\x91<strong>API</strong>-\\xe6\\x98\\x8e\\xe9\\x81\\x93\\xe4\\xba\\x91</a></h2></div><div class=\"b_caption\"><div class=\"b_attribution\"><cite>https://<strong>api</strong>.mingdao.com</cite></div><p>\\xe6\\xac\\xa2\\xe8\\xbf\\x8e\\xe6\\x9d\\xa5\\xe5\\x88\\xb0\\xe6\\x98\\x8e\\xe9\\x81\\x93\\xe4\\xba\\x91<strong>API</strong> \\xe6\\x88\\x90\\xe4\\xb8\\xba\\xe5\\xbc\\x80\\xe5\\x8f\\x91\\xe8\\x80\\x85 \\xe4\\xb8\\xad\\xe5\\x9b\\xbd\\xe5\\xb8\\x82\\xe5\\x9c\\xba\\xe6\\x9c\\x80\\xe5\\x8f\\x97\\xe6\\xac\\xa2\\xe8\\xbf\\x8e\\xe7\\x9a\\x84\\xe4\\xbc\\x81\\xe4\\xb8\\x9a\\xe5\\x8d\\x8f\\xe4\\xbd\\x9c\\xe5\\xba\\x94\\xe7\\x94\\xa8\\xef\\xbc\\x8c\\xe5\\xb0\\x86\\xe5\\xbc\\x80\\xe6\\x94\\xbe\\xe6\\xb2\\x9f\\xe9\\x80\\x9a\\xef\\xbc\\x8c\\xe4\\xbb\\xbb\\xe5\\x8a\\xa1\\xe5\\x8d\\x8f\\xe4\\xbd\\x9c\\xef\\xbc\\x8c\\xe7\\x9f\\xa5\\xe8\\xaf\\x86\\xe5\\x85\\xb1\\xe4\\xba\\xab\\xef\\xbc\\x8c\\xe7\\xa7\\xbb\\xe5\\x8a\\xa8\\xe5\\x8a\\x9e\\xe5\\x85\\xac\\xe6\\x95\\xb4\\xe5\\x90\\x88\\xe5\\x9c\\xa8\\xe4\\xb8\\x80\\xe4\\xb8\\xaa\\xe5\\xb9\\xb3\\xe5\\x8f\\xb0\\xe4\\xb8\\x8a\\xe3\\x80\\x82\\xe6\\x94\\xaf\\xe6\\x8c\\x81<strong>API</strong>\\xe6\\x89\\xa9\\xe5\\xb1\\x95\\xe5\\xbc\\x80\\xe5\\x8f\\x91\\xef\\xbc\\x8c\\xe6\\x89\\xa9\\xe5\\xb1\\x95\\xe5\\xba\\x94\\xe7\\x94\\xa8\\xe4\\xb8\\xb0\\xe5\\xaf\\x8c\\xe3\\x80\\x822012\\xe5\\xb9\\xb4\\xe5\\xbc\\x80\\xe5\\xa7\\x8b\\xe8\\xbf\\x90\\xe8\\x90\\xa5\\xef\\xbc\\x8c\\xe5\\xb7\\xb2\\xe9\\x80\\x9a\\xe8\\xbf\\x87ISO27001\\xe4\\xbf\\xa1\\xe6\\x81\\xaf\\xe5\\xae\\x89\\xe5\\x85\\xa8\\xe8\\xae\\xa4\\xe8\\xaf\\x81 ...</p></div></li><li class=\"b_algo\"><div class=\"b_title\"><a target=\"_blank\" class=\"sh_favicon\" href=\"https://docs.oracle.com/javase/6/docs/api/\" h=\"ID=SERP,5150.1\"><div class=\"wr_fav\" data-priority=\"2\"><img class=\"siteicon rms_img\" alt=\"\\xe5\\x85\\xa8\\xe7\\x90\\x83 Web \\xe5\\x9b\\xbe\\xe6\\xa0\\x87\" height=\"16\" width=\"16\" src=\"\" /></div></a><h2><a target=\"_blank\" href=\"https://docs.oracle.com/javase/6/docs/api/\" h=\"ID=SERP,5155.1\">Oracle Help Center</a></h2></div><div class=\"b_caption\"><div class=\"b_attribution\"><cite>https://docs.oracle.com/<strong>java</strong>se/6/docs/<strong>api</strong></cite></div><p>\\xe7\\x94\\xb1\\xe4\\xba\\x8e\\xe6\\xad\\xa4\\xe7\\xbd\\x91\\xe7\\xab\\x99\\xe7\\x9a\\x84\\xe8\\xae\\xbe\\xe7\\xbd\\xae\\xef\\xbc\\x8c\\xe6\\x88\\x91\\xe4\\xbb\\xac\\xe6\\x97\\xa0\\xe6\\xb3\\x95\\xe6\\x8f\\x90\\xe4\\xbe\\x9b\\xe8\\xaf\\xa5\\xe9\\xa1\\xb5\\xe9\\x9d\\xa2\\xe7\\x9a\\x84\\xe5\\x85\\xb7\\xe4\\xbd\\x93\\xe6\\x8f\\x8f\\xe8\\xbf\\xb0\\xe3\\x80\\x82</p></div></li><li class=\"b_algo\"><div class=\"b_title\"><a target=\"_blank\" class=\"sh_favicon\" href=\"https://api.github.com/\" h=\"ID=SERP,5161.1\"><div class=\"wr_fav\" data-priority=\"2\"><img class=\"siteicon rms_img\" alt=\"\\xe5\\x85\\xa8\\xe7\\x90\\x83 Web \\xe5\\x9b\\xbe\\xe6\\xa0\\x87\" height=\"16\" width=\"16\" src=\"\" /></div></a><h2><a target=\"_blank\" href=\"https://api.github.com/\" h=\"ID=SERP,5166.1\">GitHub</a></h2></div><div class=\"b_caption\"><div class=\"b_attribution\"><cite>https://<strong>api</strong>.github.com</cite></div><p>{ &quot;current_user_url&quot;: &quot;https://<strong>api</strong>.github.com/user&quot;, &quot;current_user_authorizations_html_url&quot;: &quot;https://github.com/settings/connections/applications{/client_id ...</p></div></li><li class=\"b_algo\"><div class=\"b_title\"><a target=\"_blank\" class=\"sh_favicon\" href=\"http://jexcelapi.sourceforge.net/\" h=\"ID=SERP,5172.1\"><div class=\"wr_fav\" data-priority=\"2\"><img class=\"siteicon rms_img\" alt=\"\\xe5\\x85\\xa8\\xe7\\x90\\x83 Web \\xe5\\x9b\\xbe\\xe6\\xa0\\x87\" height=\"16\" width=\"16\" src=\"\" /></div></a><h2><a target=\"_blank\" href=\"http://jexcelapi.sourceforge.net/\" h=\"ID=SERP,5179.1\">JExcelApi</a></h2></div><div class=\"b_caption\"><div class=\"b_attribution\" u=\"8|5063|4571718112315283|voMMbYa0Xkwe-kP-JkOgAFRiCKwc7IEV\"><cite>jexcel<strong>api</strong>.sourceforge.net</cite><span class=\"c_tlbxTrg\"><span class=\"c_tlbxH\" H=\"BASE:CACHEDPAGEDEFAULT\" K=\"SERP,5180.1\"></span></span></div><p>2005-2-28&ensp;&#0183;&ensp;Java Excel <strong>API</strong> is a mature, open source java <strong>API</strong> enabling developers to read, write, and modifiy Excel spreadsheets dynamically. Now java developers can read Excel spreadsheets, modify them with a convenient and simple <strong>API</strong>, and write the changes to any output stream (e.g. disk, HTTP, database, or any socket).</p></div></li><li class=\"b_algo\"><div class=\"b_title\"><a target=\"_blank\" class=\"sh_favicon\" href=\"https://api.map.baidu.com/mapCard/\" h=\"ID=SERP,5186.1\"><div class=\"wr_fav\" data-priority=\"2\"><img class=\"siteicon rms_img\" alt=\"\\xe5\\x85\\xa8\\xe7\\x90\\x83 Web \\xe5\\x9b\\xbe\\xe6\\xa0\\x87\" height=\"16\" width=\"16\" src=\"\" /></div></a><h2><a target=\"_blank\" href=\"https://api.map.baidu.com/mapCard/\" h=\"ID=SERP,5192.1\">\\xe7\\x99\\xbe\\xe5\\xba\\xa6\\xe5\\x9c\\xb0\\xe5\\x9b\\xbe\\xe5\\x90\\x8d\\xe7\\x89\\x87 - Baidu</a></h2></div><div class=\"b_caption\"><div class=\"b_attribution\"><cite>https://<strong>api</strong>.map.baidu.com/mapCard</cite></div><p>2021-12-27&ensp;&#0183;&ensp;\\xe6\\x83\\xb3\\xe5\\x9c\\xa8\\xe5\\x85\\xac\\xe5\\x8f\\xb8\\xe7\\xbd\\x91\\xe7\\xab\\x99\\xe4\\xb8\\x8a\\xe7\\x94\\xa8\\xe5\\x9c\\xb0\\xe5\\x9b\\xbe\\xe5\\xb1\\x95\\xe7\\x8e\\xb0\\xe5\\x95\\x86\\xe9\\x93\\xba\\xe4\\xbd\\x8d\\xe7\\xbd\\xae\\xe4\\xb9\\x88\\xef\\xbc\\x9f\\xe6\\x83\\xb3\\xe5\\x91\\x8a\\xe8\\xaf\\x89\\xe5\\xae\\xa2\\xe6\\x88\\xb7\\xe5\\xa6\\x82\\xe4\\xbd\\x95\\xe5\\x88\\xb0\\xe8\\xbe\\xbe\\xe5\\x85\\xac\\xe5\\x8f\\xb8\\xe3\\x80\\x81\\xe5\\x91\\xa8\\xe8\\xbe\\xb9\\xe9\\x83\\xbd\\xe6\\x9c\\x89\\xe4\\xba\\x9b\\xe4\\xbb\\x80\\xe4\\xb9\\x88\\xef\\xbc\\x9f\\xe8\\xaf\\xb7\\xe4\\xbd\\xbf\\xe7\\x94\\xa8\\xe7\\x99\\xbe\\xe5\\xba\\xa6\\xe5\\x9c\\xb0\\xe5\\x9b\\xbe\\xe5\\x90\\x8d\\xe7\\x89\\x87\\xef\\xbc\\x8c\\xe6\\x97\\xa0\\xe9\\x9c\\x80\\xe7\\xbc\\x96\\xe5\\x86\\x99\\xe4\\xbb\\xa3\\xe7\\xa0\\x81\\xef\\xbc\\x8c\\xe5\\x8f\\xaa\\xe9\\x9c\\x80\\xe7\\xae\\x80\\xe5\\x8d\\x95\\xe8\\xbe\\x93\\xe5\\x85\\xa5\\xe4\\xbc\\x81\\xe4\\xb8\\x9a\\xe4\\xbf\\xa1\\xe6\\x81\\xaf\\xe5\\x8d\\xb3\\xe5\\x8f\\xaf\\xe5\\x88\\xb6\\xe4\\xbd\\x9c\\xe5\\xb8\\xa6\\xe5\\x9c\\xb0\\xe5\\x9b\\xbe\\xe7\\x9a\\x84\\xe4\\xbc\\x81\\xe4\\xb8\\x9a\\xe5\\x90\\x8d\\xe7\\x89\\x87\\xe3\\x80\\x82</p></div></li><li class=\"b_pag\"><nav role=\"navigation\" aria-label=\"api \\xe7\\x9a\\x84\\xe6\\x9b\\xb4\\xe5\\xa4\\x9a\\xe6\\x90\\x9c\\xe7\\xb4\\xa2\\xe7\\xbb\\x93\\xe6\\x9e\\x9c\"><h4 class=\"b_hide\">\\xe5\\x88\\x86\\xe9\\xa1\\xb5</h4><ul class=\"sb_pagF\"><li><a class=\"sb_pagS sb_pagS_bp b_widePag sb_bp\">1</a></li><li><a class=\"b_widePag sb_bp\" aria-label=\"\\xe7\\xac\\xac 2 \\xe9\\xa1\\xb5\" href=\"/search?q=api&amp;first=11&amp;FORM=PERE\" h=\"ID=SERP,5227.1\">2</a></li><li><a class=\"b_widePag sb_bp\" aria-label=\"\\xe7\\xac\\xac 3 \\xe9\\xa1\\xb5\" href=\"/search?q=api&amp;first=21&amp;FORM=PERE1\" h=\"ID=SERP,5228.1\">3</a></li><li><a class=\"b_widePag sb_bp\" aria-label=\"\\xe7\\xac\\xac 4 \\xe9\\xa1\\xb5\" href=\"/search?q=api&amp;first=31&amp;FORM=PERE2\" h=\"ID=SERP,5229.1\">4</a></li><li><a class=\"sb_pagN sb_pagN_bp b_widePag sb_bp \" title=\"\\xe4\\xb8\\x8b\\xe4\\xb8\\x80\\xe9\\xa1\\xb5\" href=\"/search?q=api&amp;first=11&amp;FORM=PORE\" h=\"ID=SERP,5230.1\"><div class=\"sw_next\">\\xe4\\xb8\\x8b\\xe4\\xb8\\x80\\xe9\\xa1\\xb5</div></a></li></ul></nav></li><li id=\"mfa_root\" class=\"b_fabHide fabcolapse\"><div class=\"b_ds5\"><a role=\"button\" class=\"mfa_btn\" id=\"mfa_srch\" aria-label=\"\\xe6\\x90\\x9c\\xe7\\xb4\\xa2\\xe6\\x9b\\xb4\\xe5\\xa4\\x9a\" href=\"javascript:void(0);\" h=\"ID=SERP,5243.1\"><div class=\"fba_sbicn\" style=\"width: 40px; height: 40px;\"></div></a></div></li></ol></main><aside aria-label=\"\\xe6\\x9b\\xb4\\xe5\\xa4\\x9a\\xe7\\xbb\\x93\\xe6\\x9e\\x9c\"><div id=\"b_mtp\" class=\"crhide\" data-priority=\"2\"><a class=\"mtprt\" href=\"javascript: void(0);\" h=\"ID=SERP,5250.1\"><img class=\"mtpsvg mtparr rms_img\" height=\"40\" width=\"40\" src=\"\" /><div class=\"mtpseem\">\\xe6\\x9f\\xa5\\xe7\\x9c\\x8b\\xe6\\x9b\\xb4\\xe5\\xa4\\x9a</div></a></div><ol id=\"b_context\" class=\"crinvis\"></ol></aside><aside aria-label=\"\\xe6\\xb5\\x8f\\xe8\\xa7\\x88\\xe6\\x9b\\xb4\\xe5\\xa4\\x9a\"><ol id=\"b_dynRail\"></ol></aside></div><footer id=\"b_footer\" class=\"b_footer\" role=\"contentinfo\" aria-label=\"\\xe9\\xa1\\xb5\\xe8\\x84\\x9a\"><div id=\"b_footerItems\"><span>&#169; 2022 Microsoft</span><ul><li class=\"b_footerItems_icp\"><span>\\xe5\\xa2\\x9e\\xe5\\x80\\xbc\\xe7\\x94\\xb5\\xe4\\xbf\\xa1\\xe4\\xb8\\x9a\\xe5\\x8a\\xa1\\xe7\\xbb\\x8f\\xe8\\x90\\xa5\\xe8\\xae\\xb8\\xe5\\x8f\\xaf\\xe8\\xaf\\x81\\xef\\xbc\\x9a\\xe5\\x90\\x88\\xe5\\xad\\x97B2-20090007</span></li><li class=\"b_footerItems_icp\"><a id=\"sb_ICPFilingText\" href=\"https://beian.miit.gov.cn\" h=\"ID=SERP,5039.1\">\\xe4\\xba\\xacICP\\xe5\\xa4\\x8710036305\\xe5\\x8f\\xb7-7</a></li><li class=\"b_footerItems_icp\"><a id=\"sb_MMAIS\" href=\"http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=11010802022657\" h=\"ID=SERP,5040.1\">\\xe4\\xba\\xac\\xe5\\x85\\xac\\xe7\\xbd\\x91\\xe5\\xae\\x89\\xe5\\xa4\\x8711010802022657\\xe5\\x8f\\xb7</a></li><br /><li><a id=\"sb_privacy\" href=\"http://go.microsoft.com/fwlink/?LinkId=521839\" h=\"ID=SERP,5041.1\">\\xe9\\x9a\\x90\\xe7\\xa7\\x81\\xe5\\xa3\\xb0\\xe6\\x98\\x8e\\xe5\\x92\\x8c Cookie</a></li><li><a id=\"sb_legal\" href=\"http://go.microsoft.com/fwlink/?LinkID=246338\" h=\"ID=SERP,5042.1\">\\xe6\\xb3\\x95\\xe5\\xbe\\x8b\\xe5\\xa3\\xb0\\xe6\\x98\\x8e</a></li><li><a id=\"sb_advertise\" href=\"https://go.microsoft.com/fwlink/?linkid=868922\" h=\"ID=SERP,5043.1\">\\xe5\\xb9\\xbf\\xe5\\x91\\x8a</a></li><li><a id=\"sb_help\" target=\"_blank\" href=\"https://support.microsoft.com/topic/82d20721-2d6f-4012-a13d-d1910ccf203f&amp;clcid=0x04\" h=\"ID=SERP,5045.1\">\\xe5\\xb8\\xae\\xe5\\x8a\\xa9</a></li><li><a role=\"button\" id=\"sb_feedback\" href=\"#\" h=\"ID=SERP,5046.1\">\\xe5\\x8f\\x8d\\xe9\\xa6\\x88</a></li></ul></div><!--foo--></footer><div id=\"b_TriviaOverlay\"></div><div class=\"sb_hbop\"><div id=\"PromptDetails\" class=\"b_hide\" data-lat=\"0\" data-lon=\"0\" data-dist=\"0\" data-noRefresh=\"true\" data-check=\"true\"></div></div><script type=\"text/javascript\">//<![CDATA[\\n(function(n,t){onload=function(){_G.BPT=new Date;n&&n();!_w.sb_ppCPL&&t&&sb_st(function(){t(new Date)},0)}})(_w.onload,_w.si_PP);_G!==undefined&&_G.EF!==undefined&&_G.EF.bmasynctrigger===1&&window.requestAnimationFrame!==undefined&&document.visibilityState!==undefined&&document.visibilityState===\"visible\"?requestAnimationFrame(function(){setTimeout(function(){BM.trigger()},0)}):BM.trigger();sa_loader=function(){_w.rms.js({\\'rms:answers:AutoSuggest:AutoSug\\':\\'\\\\/rp\\\\/fadCvdxY1EwVwdcA0nzS5876RIw.gz.js\\',d:1});};;_w.rms.js({\\'A:0\\':0},{\\'A:rms:answers:Web:ClearSearchBox\\':\\'\\\\/rp\\\\/Qk3ZmsrZyMwQX6RIEt1JiIt31ow.gz.js\\'},{\\'A:1\\':1},{\\'A:rms:answers:Identity:BlueIdentityDropdownBootStrap\\':\\'\\\\/rp\\\\/Oe08_JybWoSjYfa3Ll9ycg1m96I.gz.js\\'},{\\'A:rms:answers:Identity:BlueIdentityHeader\\':\\'\\\\/rp\\\\/T_fuRJ5ONhzzZUcXzufvynXGXyQ.gz.js\\'},{\\'A:2\\':2},{\\'A:rms:answers:Identity:SnrWindowsLiveConnectBootstrap\\':\\'\\\\/rp\\\\/ozS3T0fsBUPZy4zlY0UX_e0TUwY.gz.js\\'},{\\'A:rms:answers:OrgId:SsoFrame\\':\\'\\\\/rp\\\\/Xp-HPHGHOZznHBwdn7OWdva404Y.gz.js\\'},{\\'A:rms:answers:BingAtWork:SsoContent\\':\\'\\\\/rp\\\\/pXscrbCrewUD-UetJTvW5F7YMxo.gz.js\\'},{\\'A:3\\':3},{\\'A:rms:answers:Identity:ProfilePicturePostLoader\\':\\'\\\\/rp\\\\/MstqcgNaYngCBavkktAoSE0--po.gz.js\\'},{\\'A:4\\':4},{\\'A:rms:answers:Web:AlgoTitleColorOnMousedown\\':\\'\\\\/rp\\\\/hLIJkdTrOxcvwVdcjNc-Ci4kLok.gz.js\\'},{\\'A:rms:answers:Web:CursorProgressOnClick_Rebind\\':\\'\\\\/rp\\\\/-4lWPvsxE8kxJO-eEYkwR6dS34E.gz.js\\'},{\\'A:rms:answers:Web:CursorProgressOnClick\\':\\'\\\\/rp\\\\/e18WoGB0Fl3Fh_de5Qlf5D_DTk0.gz.js\\'},{\\'A:rms:answers:WebResult:WebResultToolbox\\':\\'\\\\/rp\\\\/JoVtU0YtyY9tw3IdM7NM0MLUXGk.gz.js\\'},{\\'A:rms:answers:VisualSystem:SearchFloatingActionButtonTriggering\\':\\'\\\\/rp\\\\/UMc3LQfNxSkvn2QdRt2WMsv397Y.gz.js\\'},{\\'A:rms:answers:VisualSystem:FloatingActionButtonCore\\':\\'\\\\/rp\\\\/cINljkImV7Xzs3xPkVAT1B84ekE.gz.js\\'},{\\'A:rms:answers:VisualSystem:SearchFloatingActionButton\\':\\'\\\\/rp\\\\/NtnQw9IjXgfxfLedT-Of2T7AFkQ.gz.js\\'},{\\'A:5\\':5},{\\'A:rms:answers:VisualSystem:FullPageLightBox\\':\\'\\\\/rp\\\\/S1hoRYGaciklcplKfuNa7gpqyfA.gz.js\\'},{\\'A:6\\':6},{\\'A:rms:answers:Web:SerpKeyboardNavigation_Selector\\':\\'\\\\/rp\\\\/iT_V8KBI7eC1TQv70SZIlBffTUA.gz.js\\'},{\\'A:rms:answers:Web:SerpKeyboardNavigation\\':\\'\\\\/rp\\\\/LE_d8dc_TAW7HlSuXKxKfy6Bg7I.gz.js\\'},{\\'A:7\\':7});;\\n//]]></script><div id=\"aRmsDefer\"><div style=\"display:none\"><!--//<![CDATA[\\nvar ErrFuncs;(function(n){function i(n,i,r){t(\"Error\",n,i,r)}function r(n,i,r){t(\"Warning\",n,i,r)}function t(n,t,i,r){var u,f;if(r?(u=r,u.message+=\" \"+t):u=new Error(t),u.extra=\"manualError\",i&&(u.extra+=\" \"+i),u.severity=n,f=_w.jsErrorHandler,f)f(u);else throw u;}n.LogError=i;n.LogWarning=r})(ErrFuncs||(ErrFuncs={}));JS={LogError:ErrFuncs.LogError,LogWarning:ErrFuncs.LogWarning};SharedLogHelper={LogError:ErrFuncs.LogError,LogWarning:ErrFuncs.LogWarning,LogFatalError:function(){return null},RegisterErrorFilter:function(){return null}};/*!DisableJavascriptProfiler*/\\n0;var FocusScrollToBTop;(function(){function i(){var i=t()-n;i>AwayTimeThreshold&&(_w.scrollTo(0,0),_w.sj_log&&sj_log(\"CI.ReturnTop\",\"ReturnTop\"+AwayTimeThreshold.toString(),\"Triggered\"),sj_evt.fire(\"focusTopScrollEnd\"))}function r(){n=t()}function t(){return Math.round(Date.now()/1e3)}var n;sj_evt.bind(\"focusTopScrollStart\",i);sj_evt.bind(\"focusTopBlur\",r);sj_be(_w,\"focus\",function(){sj_evt.fire(\"focusTopScrollStart\")});sj_be(_w,\"blur\",function(){sj_evt.fire(\"focusTopBlur\")})})(FocusScrollToBTop||(FocusScrollToBTop={}));var Lib;(function(n){var t;(function(n){function u(n,t){var r,i;if(t==null||n==null)throw new TypeError(\"Null element passed to Lib.CssClass\");if(n.indexOf)return n.indexOf(t);for(r=n.length,i=0;i<r;i++)if(n[i]===t)return i;return-1}function f(n,u){if(n==null)throw new TypeError(\"Null element passed to Lib.CssClass\");if(!i(n,u))if(r&&n.classList)n.classList.add(u);else{var f=t(n)+\" \"+u;o(n,f)}}function e(n,f){var e,s,h;if(n==null)throw new TypeError(\"Null element passed to Lib.CssClass\");i(n,f)&&(r&&n.classList?n.classList.remove(f):(e=t(n).split(\" \"),s=u(e,f),s>=0&&e.splice(s,1),h=e.join(\" \"),o(n,h)))}function s(n,t){if(n==null)throw new TypeError(\"Null element passed to Lib.CssClass\");r&&n.classList?n.classList.toggle(t):i(n,t)?e(n,t):f(n,t)}function i(n,i){var f,e;if(n==null)throw new TypeError(\"Null element passed to Lib.CssClass\");return r&&n.classList?n.classList.contains(i):(f=t(n),f)?(e=f.split(\" \"),u(e,i)>=0):!1}function h(n,i){var f,e,r,u,o;if(n.getElementsByClassName)return n.getElementsByClassName(i);for(f=n.getElementsByTagName(\"*\"),e=[],r=0;r<f.length;r++)u=f[r],u&&(o=t(u),o&&o.indexOf(i)!==-1&&e.push(u));return e}function o(n,t){n instanceof SVGElement?n.setAttribute(\"class\",t):n.className=t}function t(n){return n instanceof SVGElement?n.getAttribute(\"class\"):n.className}var r=typeof document.body.classList!=\"undefined\";n.add=f;n.remove=e;n.toggle=s;n.contains=i;n.getElementByClassName=h;n.getClassAttribute=t})(t=n.CssClass||(n.CssClass={}))})(Lib||(Lib={}));(function(){var u=\"BZA\",f=\"SRCHHPGUSR\",n;sj_evt.bind(\"bza_AutoZoomtoggled\",function(n){sj_cook.set(f,u,n[1]?\"1\":\"0\",!1,\"/\",43200);Log.Log(\"BodyZoomAdjust\",\"Zoom\",n[1]?\"Enabled\":\"Disabled\",!1);sj_evt.fire(\"updateBodyZoomLevel\",n[1])});var e=bodyZoomParams.isNewMuid||sj_cook.get(\"MUIDV\",\"NU\")==\"1\",o=(!bodyZoomParams.muidCheckEnabled||e)&&_w.innerWidth>bodyZoomParams.browserWidth&&_w.innerHeight>bodyZoomParams.browserHeight,t=100;navigator.userAgent.match(/Mozilla\\\\/4\\\\.0/i)||navigator.userAgent.match(/Edge/)?_w.screen&&(t=Math.round(screen.deviceXDPI/screen.systemXDPI*100)):t=navigator.userAgent.match(/Trident/)?Math.round(_w.devicePixelRatio*100):Math.round(_w.outerWidth/_w.innerWidth*100);var s=o&&t>=98&&t<=102,i=_ge(\"b_tween\"),r=_d.getElementsByClassName(\"bdzm\");r.length&&(n=r[0],i&&s?(i.appendChild(n),n.style.removeProperty(\"display\")):n.parentNode.removeChild(n))})();var LGUtility;(function(n){function e(n){var r=i[n];return r==undefined?!1:t===null||r<=i[t]?(t&&r<i[t]&&f(t),t=n,!0):(f(n),!1)}function o(n,t,i,u){r(n,\"ContainerClick\",t,i,u)}function s(n,t,i,u){r(n,\"ContainerHover\",t,i,u)}function h(n,t,i,u){r(n,\"ContainerRender\",t,i,u)}function r(n,t,i,r,u){r&&u?Log&&Log.Log&&Log.Log(\"LeftGutterModule\",n,t,!1,\"AppNS\",r,\"K\",u,\"Category\",\"CommonControls\",\"AnswerType\",i):Log&&Log.Log&&Log.Log(\"LeftGutterModule\",n,t,!1,\"AnswerType\",i)}function f(n){var t=_ge(u[n]);t&&t.parentElement&&t.parentElement.removeChild(t)&&sj_evt.fire(\"lgRemovedFeature\",n)}var i,u,t;(function(n){n[n.wholepgtemp=0]=\"wholepgtemp\";n[n.financeWidget=1]=\"financeWidget\";n[n.shopWidget=2]=\"shopWidget\";n[n.lgRealEstate=3]=\"lgRealEstate\";n[n.nowCastIcon=4]=\"nowCastIcon\";n[n.XMOfferWidget=5]=\"XMOfferWidget\";n[n.localWidget=6]=\"localWidget\";n[n.wikiWidget=7]=\"wikiWidget\";n[n.disambig=8]=\"disambig\";n[n.LGPopDomains=9]=\"LGPopDomains\";n[n.relatedSearches=10]=\"relatedSearches\";n[n.miniSidebar=11]=\"miniSidebar\";n[n.LGOlympicMedals=12]=\"LGOlympicMedals\"})(i||(i={}));u={wholepgtemp:\"wpt_hdrs\",financeWidget:\"financeWidgetContainer\",shopWidget:\"shopWidgetContainer\",lgRealEstate:\"lgRealEstateContainer\",nowCastIcon:\"nowCastIconContainer\",wikiWidget:\"wikiWidgetContainer\",disambig:\"b_lgd\",relatedSearches:\"b_lgrs\",miniSidebar:\"mnbr_btnCtr\",localWidget:\"localWidgetContainer\",LGPopDomains:\"b_lgpd\",LGOlympicMedals:\"LGOlympicMedalsContainer\",XMOfferWidget:\"XMOfferWidgetContainer\"};t=null;n.isRenderFeature=e;n.instLogClick=o;n.instLogHover=s;n.instLogRender=h;n.instLog=r})(LGUtility||(LGUtility={}));LGUtility.isRenderFeature(\"LGPopDomains\");;function PopDomInit() { if(LGPopDomains?.init) { LGPopDomains.init(\"youtube.com|en.wikipedia.org|amazon.com|facebook.com|yelp.com|yellowpages.com|linkedin.com|quizlet.com|imdb.com|reddit.com|tripadvisor.com|msn.com|mapquest.com|zillow.com|merriam-webster.com|quora.com|etsy.com|realtor.com|business.facebook.com|indeed.com|ncbi.nlm.nih.gov|pinterest.com|ebay.com|healthline.com|mylife.com|dictionary.com|thefreedictionary.com|xvideos.com|trulia.com|stackoverflow.com|pubmed.ncbi.nlm.nih.gov|docs.microsoft.com|instagram.com|support.microsoft.com|brainly.com|whitepages.com|mayoclinic.org|homedepot.com|wikihow.com|britannica.com|webmd.com|coursehero.com|xnxx.com|twitter.com|healthgrades.com|spokeo.com|redfin.com|pornhub.com|answers.com|netflix.com|forbes.com\",false,\"YouTube|Wikipedia|Amazon|Facebook|Yelp|Yellowpages|LinkedIn|Quizlet|IMDb|Reddit|Tripadvisor|MSN|Mapquest|Zillow|Merriam-Webster|Quora|Etsy|Realtor|Facebook|Indeed|NCBI|Pinterest|eBay|Healthline|mylife|Dictionary|The Free Dictionary|XVideos|Trulia|Stack Overflow|NCBI|Microsoft Docs|Instagram|Microsoft Support|Brainly|Whitepages|Mayo Clinic|The Home Depot|wikiHow|Encyclopedia Britannica|WebMD|Course Hero|XNXX|Twitter|Healthgrades|Spokeo|Redfin|PornHub|Answers|Netflix|Forbes\", (true ?\"\\xe8\\xbd\\xac\\xe5\\x88\\xb0:\":\"\\xe5\\x9c\\xa8\\xe6\\xad\\xa4\\xe9\\xa1\\xb5\\xef\\xbc\\x9a\"),true,false,\"\\xe8\\xbd\\xac\\xe8\\x87\\xb3\\xe9\\xa1\\xb6\\xe9\\x83\\xa8\"); } sj_evt.unbind(\"LGPopDomInit\", PopDomInit); } sj_evt.bind(\"LGPopDomInit\", PopDomInit, true);;var EnglishSearchShared;(function(n){function r(n,i){var e=!1,o=_w.location.href.split(\"?\"),r,u,f,s,h;if(o.length==1||o[1]==\"\")return t(_w.location.href,n,\"1\");if(r=_w.location.search.replace(\"?\",\"\"),u=r.split(\"&\"),u){for(r=o[0]+\"?\",f=0;f<u.length;f++)if(s=u[f],s.split(\"=\")[0].toLowerCase()===n){if(e)continue;r=r+n+\"=\"+i+\"&\";e=!0}else r=r+s+\"&\";h=r.substring(r.length-1);h==\"&\"&&(r=r.substring(0,r.length-1))}return e?r:t(_w.location.href,n,\"1\")}function t(n,t,i){var u=n.substring(n.length-1),r=t+\"=\"+i;return n.indexOf(\"?\")<0?n+\"?\"+r:u==\"?\"?n+r:n+\"&\"+r}function u(n){var t=_w.location.search.replace(\"?\",\"\"),r=t.split(\"&\"),i,u,f;if(r){for(t=\"?\",i=0;i<r.length;i++)u=r[i],u.split(\"=\")[0].toLowerCase()!==n&&(t=t+u+\"&\");return f=t.substring(t.length-1),f==\"&\"&&(t=t.substring(0,t.length-1)),t}return\"\"}function i(n,t){var f=null,e=n.replace(\"?\",\"\"),r=e.split(\"&\"),i,u;if(r)for(i=0;i<r.length;i++)if(u=r[i],u.split(\"=\")[0].toLowerCase()===t.toLowerCase()){f=u.split(\"=\")[1];break}return f}function f(n,t,r,u){var e=i(_w.location.search,n),f=\"\";e==\"1\"?(f=\"1\",sj_cook.set(t,r,f,u,\"/\")):e!=null&&(f=\"0\",sj_cook.set(t,r,f,u,\"/\"))}function e(n,r){if(_w.location.search.match(/form=/i)){var u=i(_w.location.search,\"form\"),f=new RegExp(\"form=\"+u,\"gi\");return n.replace(f,\"FORM=\"+r)}return t(n,\"FORM\",r)}n.SetParameter=r;n.RemoveParameter=u;n.SetCookieByUrlParameter=f;n.SetFormCode=e})(EnglishSearchShared||(EnglishSearchShared={}));var SwitchTabV2;(function(){function c(){return typeof Log!=\"undefined\"&&Log!==null&&typeof Log.Log!=\"undefined\"}function l(){r=\"0\";sj_cook.set(f,e,r,!1,\"/\");c()&&Log.Log(\"DHTMLClick\",\"EnglishSearch_SwitchTab\",\"SwitchToChinese\",!1);var n=EnglishSearchShared.RemoveParameter(o);n=EnglishSearchShared.SetFormCode(n,s);_w.location.search=n}function a(){r=\"1\";sj_cook.set(f,e,r,!1,\"/\");c()&&Log.Log(\"DHTMLClick\",\"EnglishSearch_SwitchTab\",\"SwitchToEnglish\",!1);var n=EnglishSearchShared.SetParameter(o,\"1\");n=EnglishSearchShared.SetFormCode(n,s);_w.location.href=n}function v(){n&&t&&Lib.CssClass.add(u,h)}function y(){n&&t&&Lib.CssClass.remove(u,h)}function p(){t=_ge(\"est_en\");n=_ge(\"est_cn\");u=_ge(\"est_switch\");var r=_ge(\"sb_form\"),s=r&&Lib.CssClass.getElementByClassName(r,\"b_searchboxForm\");(i=s.length>0?s[0]:null,typeof EnglishSearchShared!=\"undefined\"&&t&&n)&&(i&&(sj_be(i,\"mouseover\",v),sj_be(i,\"mouseout\",y)),EnglishSearchShared.SetCookieByUrlParameter(o,f,e,!1),sj_be(t,\"click\",function(){a()}),sj_be(t,\"keyup\",function(n){n.keyCode===13&&a()}),sj_be(n,\"click\",function(){l()}),sj_be(n,\"keyup\",function(n){n.keyCode===13&&l()}))}var u,n,t,i,f=\"ENSEARCH\",e=\"BENVER\",r,o=\"ensearch\",s=\"BESBTB\",h=\"est_sb_hover\";p()})(SwitchTabV2||(SwitchTabV2={}));var Identity = Identity || {}; (function(i) { i.wlImgSm =\"https://storage.live.com/users/0x{0}/myprofile/expressionprofile/profilephoto:UserTileStatic/p?ck=1\\\\u0026ex=720\\\\u0026sid=1F575FD770396F0629974EB4715F6E9A\\\\u0026fofoff=1\"; i.wlImgLg =\"https://storage.live.com/users/0x{0}/myprofile/expressionprofile/profilephoto:UserTileMedium/p?ck=1\\\\u0026ex=720\\\\u0026sid=1F575FD770396F0629974EB4715F6E9A\\\\u0026fofoff=1\";i.popupLoginUrls = {\"WindowsLiveId\":\"https://login.live.com/login.srf?wa=wsignin1.0\\\\u0026rpsnv=11\\\\u0026ct=1646907169\\\\u0026rver=6.0.5286.0\\\\u0026wp=MBI_SSL\\\\u0026wreply=https:%2F%2fcn.bing.com%2Fsecure%2FPassport.aspx%3Fpopup%3D1%26ssl%3D1\\\\u0026lc=2052\\\\u0026id=264960\"}; })(Identity);;var BingAtWork;(function(n){var t;(function(n){n.fetchLowerHeader=function(n){sj_ajax(\"/business/lowerheader?q=\"+n,{callback:function(n,t){var u,r,i,f;n&&(u=_ge(\"b_content\"),u&&(r=u.getElementsByTagName(\"main\"),r&&r.length>0&&(i=r[0],i&&i.hasChildNodes()&&(f=sj_ce(\"div\",\"b_lowerHeader\"),t.appendTo(f),i.insertBefore(f,i.firstChild)))))}})};n.fetchScopeBar=function(n){sj_ajax(\"/header/scopebar?q=\"+n,{callback:function(n,t){var i,r,u,f;n&&(i=_ge(\"b_header\"),i&&(r=i.getElementsByTagName(\"nav\"),r&&r.length>0&&(u=r[0],u&&(f=sj_ce(\"div\",\"b_nav\"),t.appendTo(f),i.removeChild(u),i.appendChild(f)))))}})};n.fetchNotificationConditional=function(){sj_ajax(\"/business/notification/conditional\",{callback:function(n,t){n&&t.appendTo(_d.body)}})};n.raiseAuthEventAndLog=function(n){var i=n.isAuthenticated,r=n.postUserNameInMessage,u=n.displayName,f=n.uniqueName,e=n.userObjectId,t;if(!i){sj_evt.fire(\"aad:signedout\");return}t={displayName:u,uniqueName:f,userObjectId:e};r?sj_evt.fire(\"aad:signedin\",t):sj_evt.fire(\"aad:signedin\");Log&&Log.Log&&Log.Log(\"ClientInst\",\"AADSignedIn\",\"OrgId\",!1,\"Type\",\"Conditional\",\"TimeStamp\",Math.round(performance.now()).toString())}})(t=n.ConditionalSignIn||(n.ConditionalSignIn={}))})(BingAtWork||(BingAtWork={}));var WireUp,WireConnector,SignalConnector;(function(n){function f(n){var u=[],f,t,i,r,e;if(!n)return u;for(f=n.split(\",\"),t=0;t<f.length;++t)(i=f[t],i&&0!==i.length)&&(r=i.split(\"/\"),e={ci:r[0],cp:r[1],ct:r[2]},u.push(e));return u}function e(n){var t=n.split(\";\");return{type:t[0],name:t[1],cons:f(t[2])}}function o(n){for(var t,r,u={eps:{},w:!1,id:\"\"},f=n.split(\"|\"),i=0;i<f.length;++i)t=f[i],t&&t.length>0&&(r=e(t),u.eps[r.name]=r);return u}function s(n,t){for(var u=null,o=_d.querySelectorAll,r,f,e,u=o?o.call(_d,\"[\"+n+\"]\"):_d.getElementsByTagName(\"*\"),i=0;i<u.length;i++)r=u[i],f=r.getAttribute,f&&(e=f.call(r,n),e&&t(r,e))}function h(n,i,r,u){if(t.cis[i]){u.nodeHandler&&u.nodeHandler(i,n,r,t.cis[i]);return}t.cis[i]={};u.logicHandler(i,t.cis[i]);u.nodeHandler&&u.nodeHandler(i,n,r,t.cis[i])}function c(){t={nc:0,nodes:{},chs:{},ihs:{},cis:{}};n.g=t}function i(){var r=\"data-wire\",n,i;s(r,function(n,i){n.id||(n.id=\"wire\"+t.nc++);var u=o(i);u.id=n.id;t.nodes[n.id]=u;n.removeAttribute(r)});for(n in t.nodes)t.nodes.hasOwnProperty(n)&&(i=t.nodes[n],i.w||l(i))}function l(n){var f=_ge(n.id),t,e,o,i,u;if(f){t=n.eps;e=!0;for(i in t)t.hasOwnProperty(i)&&(u=t[i],o=r(f,u,!0),o||(e=!1));if(e){for(i in t)t.hasOwnProperty(i)&&(u=t[i],r(f,u,!1));n.w=!0}}}function r(n,i,r){var e,o,u,f;if(!i)return!1;if(i.type===\"I\"){if(e=t.ihs[i.name],r)return e&&!0;e&&e(n)}if(i.type===\"F\"||i.type===\"B\")for(o=0;o<i.cons.length;++o)if(u=i.cons[o],u.cp&&u.ct){if(f=t.chs[u.ct],f&&h(n,u.ci,u.cp,f),r)return f&&!0;if(!f)throw\"\"+u.ct+\" not registered\";}return!0}function a(n,r){t.ihs[n]=r;i()}function u(n,i,r){var o=t.nodes[n.id].eps,e,u,f,s;if(o&&(e=o[i],e)&&(u=e.cons,u))for(f=0;f<u.length;++f)s=u[f],r(s)}function v(n,t,i){n&&u(n,t,function(t){sj_evt.fire(t.ci+\"_\"+t.cp,n,null,i)})}function y(n,t,i){n&&u(n,t,function(t){sj_evt.bind(t.ci+\"_\"+t.cp,function(t){var u=t[1],r=t[2],f=t[3];r&&r.id!==n.id||i(n,u,r,f)})})}function p(n,r,u){u===void 0&&(u=null);t.chs[n]={logicHandler:r,nodeHandler:u};i()}var t=n.g||{nc:0,nodes:{},chs:{},ihs:{},cis:{}};n.g=t;n.init=a;n.setValue=v;n.onUpdate=y;n.register=p;sj_evt.bind(\"unload\",c,!0);sj_evt.bind(\"onP1\",i,!0)})(WireUp||(WireUp={})),function(){WireUp.register(\"wire\",function(n){sj_evt.bind(n+\"_i\",function(t){var i=t[1],u=t[2],r=t[3];sj_evt.fire(n+\"_o\",i,null,r)})})}(WireConnector||(WireConnector={})),function(){WireUp.register(\"signal\",function(n){sj_evt.bind(n+\"_i\",function(t){var i=t[1],r=t[2],u=t[3];sj_evt.fire(n+\"_o\",i,null,!0)})})}(SignalConnector||(SignalConnector={}));var Button;(function(){WireUp.init(\"button_init\",function(n){var t=n.getAttribute(\"data-appns\"),i=n.getAttribute(\"data-k\");sj_be(n,\"click\",function(){Log.Log(\"Click\",\"Button\",\"\",!1,\"AppNS\",t,\"K\",i,\"Category\",\"CommonControls\")})})})(Button||(Button={}));var sch=sch||{};(function(){var n=\"click\";sj_evt.bind(\"onP1\",function(){setTimeout(function(){var i=_ge(\"id_h\"),t=_ge(\"id_sc\");i&&t&&(sj_jb(\"Blue/HamburgerServicesHeaderFlyout_c\",0,i,\"mouseover\",t,n,t,\"focus\"),sj_be(t,n,function(n){sch.clk=n}))},50)},1)})();var SearchBox;(function(n){function u(){t=_ge(\"b_header\");sj_be(_d.body,\"click\",i)}function i(n){var i=sj_et(n);i.id!=\"sb_form_q\"&&(t.className=t.className.replace(r,\"\"))}var r=/(^|\\\\s)b_focus(?!\\\\S)/gi,t;n.removeFocusClass=i;sj_evt.bind(\"onP1\",u)})(SearchBox||(SearchBox={}));(function(){_w.sj_log&&sj_log(\"Info\",\"ClientDimNotSent\",\"1\")})();(function(){function k(n,t){var i=\"XW\",r;n<=ht&&(i=\"W\");n<=w&&(i=\"M\");n<=b&&(i=\"N\");n<=ct&&(i=\"S\");n<=lt&&(i=\"HTP\");n<=at&&(i=\"NOTP\");r=\"T\";t<=et&&(r=\"M\");t<=ot&&(r=\"S\");c(st,i,\"width\",n.toString());c(ft,r,\"height\",t.toString())}function c(i,u,f,e){l(\"Info\",i,u,f,e);t(n,i)!=u&&r(n,i,u,!0,\"/\",null)}function l(n,t,i,r,u){typeof Log!=\"undefined\"&&Log.Log&&Log.Log(n,t,i,!1,r,u)}function i(n,t,i){typeof Log!=\"undefined\"&&Log.Log&&Log.Log(n,t,i)}function d(){try{return window.self!==window.top}catch(n){return!1}}function g(n,t){d()&&i(\"Info\",\"IFrame\",\"1\");n<=0&&i(\"Info\",\"Width\",\"0\");t<=0&&i(\"Info\",\"Height\",\"0\")}function nt(r,f,e,o){var s=Math.floor(Date.now()/1e3),c=t(n,f),l=t(n,o);(c!==r||l!==e)&&(_w[h]===s?_w[u]>=3?i(\"Info\",\"BRDrag\",\"1\"):_w[u]+=1:(_w[u]=1,_w[h]=s))}function a(u,f,e){var o=t(n,f);o&&o===u||(r(n,f,u,!0,\"/\",null),o&&i(\"Info\",\"BRResize\",e))}function tt(n){if(vt){var r=_w.TPane,t=\"W\";n<=w&&(t=\"M\");n<=b&&(t=\"N\");t!=r&&(i(\"Info\",\"TPResize\",r+t),_w.TPane=t)}}function it(){var e=t(n,\"DPR\"),i=_w.devicePixelRatio,u,f;i&&!isNaN(i)&&(l(\"Info\",ut,i.toFixed(2),\"RawDPR\",i.toString()),e&&parseFloat(e)===i||r(n,\"DPR\",i.toString(),!0,\"/\",null));u=t(n,\"UTC\");f=((new Date).getTimezoneOffset()*-1).toString();(u==null||u!==f)&&r(n,\"UTC\",f,!0,\"/\",null)}function f(u,f){u!=f&&(i(\"Info\",s,f),_w.DMMode=f);t(n,s)!=f&&r(n,s,f,!0,\"/\",null)}function e(n,t,i){var r=\"(prefers-color-scheme: \"+n+\")\";return _w.matchMedia(r).matches?(t!=i&&f(t,i),!0):!1}function v(){_w.getComputedStyle&&_w.getComputedStyle(o,null).getPropertyValue(\"background-color\").replace(/\\\\s/g,\"\")!=\"rgb(255,255,255)\"&&i(\"Info\",\"Mutation\",\"1\");var n=_w.DMMode;_w.matchMedia?e(\"light\",n,\"0\")||e(\"dark\",n,\"1\")||e(\"no-preference\",n,\"2\")||f(n,\"3\"):f(n,\"4\")}function rt(){_w[u]=0;_w[h]=0;y();it();v();p()}function y(){var n=Math.round(\"innerWidth\"in window?window.innerWidth:o.clientWidth),t=Math.round(\"innerHeight\"in window?window.innerHeight:o.clientHeight);nt(n.toString(),\"CW\",t.toString(),\"CH\");k(n,t);a(n.toString(),\"CW\",\"W\");a(t.toString(),\"CH\",\"H\");tt(n);g(n,t);p()}function p(){if(_w.screen){var i=t(n,\"SW\"),u=t(n,\"SH\"),f=_w.screen.width.toString(),e=_w.screen.height.toString();i&&i===f||r(n,\"SW\",f,!0,\"/\");u&&u===e||r(n,\"SH\",e,!0,\"/\")}}var o=document.documentElement,r=sj_cook.set,t=sj_cook.get,n=\"SRCHHPGUSR\",s=\"DM\",ut=\"DPR\",u=\"WResizeCNT\",h=\"WResizeTS\",ft=\"BRH\",et=1e3,ot=700,st=\"BRW\",ht=1496.9,w=1356.9,b=1268.9,ct=1180,lt=1032,at=884,vt=_ge(\"b_context\")!=null;rt();sj_be(_w,\"resize\",y);sj_be(_d,\"visibilitychange\",function(){_d.visibilityState===\"visible\"&&v()})})();if (typeof (performance) !== \\'undefined\\' && _G.BCT && performance.timing && performance.timing.navigationStart){ var SCArrivalTimeRelativeToNavStart = (_G.BCT - performance.timing.navigationStart); typeof (Log) !== \\'undefined\\' && Log && Log.Log && Log.Log(\"SCArrST\", \"SCArrST\", SCArrivalTimeRelativeToNavStart); };var ContextRegionPresent = false;;(function(){typeof ContextRegionPresent==\"undefined\"&&(ContextRegionPresent=!0);ContextRegionPresent?(Lib.CssClass.remove(sj_b,\"b_norr\"),_w.sj_log&&sj_log(\"Info\",\"HasRR\",\"1\")):Lib.CssClass.add(sj_b,\"b_norr\")})();sa_CTBConfig={\"TRGT\":\"\\xe6\\xad\\xa4\\xe7\\xbd\\x91\\xe7\\xab\\x99\\xe7\\x9a\\x84\\xe6\\x93\\x8d\\xe4\\xbd\\x9c\",\"CU\":\"http://cncc.bingj.com/cache.aspx?q=api\\\\u0026d={0}\\\\u0026mkt=zh-CN\\\\u0026setlang=zh-CN\\\\u0026w={1}\",\"CT\":\"\\xe5\\xb7\\xb2\\xe7\\xbc\\x93\\xe5\\xad\\x98\",\"NW\":\"1\",\"staticIconClass\":\"sw_ddgn\",\"selectedIconClass\":\"sw_ddw\",\"toolboxTriggerClassName\":\"c_tlbxTrg\",\"useOffsetParent\":\"1\"};var MiniTPTriggerWidth = 1020;;var miniTPExpanded=!1,miniTPEle=_ge(\"b_mtp\"),contextEle=_ge(\"b_context\");(function(){function w(){return parseInt(getComputedStyle(y)[p])}function it(){var n=parseInt(getComputedStyle(y)[p]);return n>0?n:160}function i(){return Math.floor(f?-_w.pageXOffset:_w.pageXOffset)}function b(n){return _w.innerWidth+i()>=MiniTPTriggerWidth+n}function rt(){var n,t,r,i;if(b(w()))return!0;if(n=contextEle.childElementCount,n==0||n>2)return!1;for(t=0;t<n;t++){if(r=contextEle.children[t],i=r.firstChild,Lib.CssClass.contains(i,\"b_rrsr\"))continue;else if(i.id==\"b_exploreRegion\"&&i.innerHTML==\"\")continue;return!1}return!0}function u(){if(!miniTPExpanded){var n=it();o=Math.min(o,i());miniTPEle.offsetTop>e||b(n)||i()>o+80?miniTPEle.offsetTop>e||_w.innerWidth>1274?d():k(!1):miniTPEle.style.width=nt(n)}}function k(t){miniTPExpanded||(Lib.CssClass.add(miniTPEle,\"mtpslidert\"),Lib.CssClass.remove(contextEle,r),sb_st(function(){if(Lib.CssClass.add(contextEle,c),miniTPEle.parentNode.removeChild(miniTPEle),t&&n.scrollWidth>n.offsetWidth){var i=n.scrollWidth-n.offsetWidth;f&&(i=-i);_w.scrollTo(i,0)}Lib.CssClass.add(sj_b,l)},300),g())}function ut(){k(!0)}function d(){miniTPEle.parentNode.removeChild(miniTPEle);contextEle.style.opacity=\"1\";contextEle.style.transition=\"none\";Lib.CssClass.remove(contextEle,r);Lib.CssClass.add(sj_b,l);g()}function g(){miniTPExpanded=!0;sj_ue(_w,\"resize\",u);sj_ue(_w,\"scroll\",u);sj_evt.fire(tt);_w.sj_log&&sj_log(t,a,\"show\")}function ft(){var t=new RegExp(\"[?&]{1}q=([^&]+)\"),n=location.search.match(t);return n?n[1]:null}function nt(t){var u=_w.innerWidth==n.scrollWidth,r=u?0:Math.min(64,Math.abs(_w.innerWidth-n.offsetWidth)),f=Math.min(t+MiniTPTriggerWidth-r,_w.innerWidth-r+i());return Math.max(s.offsetWidth+92,f-t-658)+\"px\"}function et(){var i=!1,n;return(miniTPEle.offsetTop>e&&(i=!0,_w.sj_log&&sj_log(t,a,\"showonerr\")),n=document.querySelectorAll(\"#b_context>.b_ans\"),!n||n.length==0||i||rt())?(d(),!0):!1}function ot(){var f,n;Lib.CssClass.remove(miniTPEle,r);miniTPEle.style.width=nt(w());var i=null,e=null,o=document.querySelectorAll(\"#b_context>.b_ans\"),s=o[0].querySelectorAll(\".b_entityTP .iaplanner\");s.length>0?i=\"/th?q=\"+ft()+\"&w=40&h=40&c=7&rs=1&p=0&o=5&dpr=1.5&pid=1.7&adlt=moderate&t=1\":(f=o[0].querySelectorAll(\".b_entityTP .cico img, .utilAns .cico img\"),f.length>0&&(i=f[0].getAttribute(\"src\"),i&&(e=f[0].getAttribute(\"data-src-hq\"))));n=miniTPEle.getElementsByClassName(\"mtpsvg\")[0];n&&i&&(Lib.CssClass.remove(n,\"mtparr\"),n.setAttribute(\"src\",i),e&&n.setAttribute(\"data-src-hq\",e));Lib.CssClass.add(n,c);sj_be(miniTPEle.lastChild,\"click\",ut);sj_be(_w,\"resize\",u);sj_be(_w,\"scroll\",u);_w.sj_log&&sj_log(t,v,\"affordance\")}var f=_G.RTL,c=\"crshow\",r=\"crhide\",t=\"CI.MiniTP\",tt=\"hideminitp\",l=\"b_respl\",a=\"FullTP\",v=\"MiniTp\",e=600,n=_d.documentElement,y=_ge(\"b_content\"),o=i(),s,p=f?\"paddingRight\":\"paddingLeft\",h;typeof MiniTPTriggerWidth==\"undefined\"&&(MiniTPTriggerWidth=1020);contextEle&&(_w.sj_log&&sj_log(t,v,\"show\"),miniTPEle!=null&&(h=_ge(\"b_results\"),h!=null&&contextEle.clientHeight>h.clientHeight&&_w.sj_log&&sj_log(t,\"Context\",\"high\"),Lib.CssClass.remove(contextEle,\"crinvis\"),Lib.CssClass.add(contextEle,r),miniTPEle.childNodes&&miniTPEle.childNodes.length>0&&(s=miniTPEle.getElementsByClassName(\"mtpseem\")[0],s&&(et()||ot()))))})();var fbpkgiid = fbpkgiid || {}; fbpkgiid.page = \\'SERP.5251\\';;var Feedback;(function(n){var t;(function(){\"use strict\";function u(t,i){var u=t.getAttribute(\"id\"),f;u||(u=\"genId\"+n.length,t.setAttribute(\"id\",u));f=new r(u,i,t.getAttribute(i));n.push(f)}function i(n,t,i){i===null?n.removeAttribute(t):n.setAttribute(t,i)}function t(n,t,r,f){for(var e,s=_d.querySelectorAll(r),o=0;o<s.length;o++)(e=s[o],f&&e.id&&f[e.id])||(u(e,n),i(e,n,t))}function f(n){for(var u=_d.querySelectorAll(n),e=1,f={},t,i,r=0;r<u.length;++r){if(t=u[r],!t.id){for(;;)if(i=\"fbpgdgelem\"+e++,!_ge(i))break;t.id=i}f[t.id]=t}return f}function e(){var i=\"tabindex\",r=\"-1\",n=f(\"#fbpgdg, #fbpgdg *\");t(i,r,\"div\",n);t(i,r,\"svg\",n);t(i,r,\"a\",n);t(i,r,\"li\",n);t(i,r,\"input\",n);t(i,r,\"select\",n);t(\"aria-hidden\",\"true\",\"body :not(script):not(style)\",n)}function o(){for(var r,t=0;t<n.length;t++)r=_d.getElementById(n[t].id),r&&i(r,n[t].attributeName,n[t].originalAttributeValue);n.length=0}function s(){typeof sj_evt!=\"undefined\"&&(sj_evt.bind(\"onFeedbackStarting\",function(){e()}),sj_evt.bind(\"onFeedbackClosing\",function(){o()}))}var n=[],r=function(){function n(n,t,i){this.id=n;this.attributeName=t;this.originalAttributeValue=i}return n}();s()})(t=n.Accessibility||(n.Accessibility={}))})(Feedback||(Feedback={}));var Feedback;(function(n){var t;(function(){function r(i,r,u,f,e,o){i=typeof i===t?!1:i;i&&scrollTo(0,0);u=typeof u===t?!0:u;n.PackageLoad.Load(r,u,f,e,o)}function e(n,t){for(var r=0,i=null;n&&n.getAttribute&&(!(t>=1)||r<t);){if(i=n.getAttribute(\"data-fbhlsel\"),i!=null)break;r++;n=n.parentNode}return i}var u=\"feedbackformrequested\",c=\"feedbackInitialized\",i,f=\"\",o=\"feedback-binded\",s=\"clicked\",t=\"undefined\",h;n.Bootstrap.InitializeFeedback=function(l,a,v,y,p,w,b,k){function tt(t){var r=null,i;return t&&(i=new h,n.fel(\"ajax.feedback.collectsettings\",\"gsf\",i),r=i.findSettings(t)),r}var d=_ge(a),g,nt;d&&d.classList&&d.classList.contains(o)||(p=typeof p===t?!1:p,g=e(d,3),f!==\"sb_feedback\"&&(f=a,typeof sj_evt!==t&&(i&&sj_evt.unbind(u,i),i=function(n){var u=null,t=null,f=null,o,i,s;n&&n.length>1&&(i=n[1],i.tagName!==undefined&&i.nodeType!==undefined?(u=i,t=tt(u)):t=i,o=t&&t.elementToHighlight||u,f=e(o));s=t&&t.linkId||a;r(y,l,v,s,f,t)},sj_evt.bind(u,i,1)),typeof SearchAppWrapper!==t&&SearchAppWrapper.CortanaApp&&SearchAppWrapper.CortanaApp.addEventListener&&SearchAppWrapper.CortanaApp.addEventListener(u,function(n){(typeof n!==t&&n!==null&&(n.isHandled=!0),a===f)&&_ge(\"fbpgdg\")===null&&r(y,l,v,a)})),d!==null?(nt=function(n){if(!(n instanceof KeyboardEvent)||n.keyCode===13){var i=null,t=null,u=null,f;if(p&&d.classList){if(d.classList.contains(s))return!1;d.classList.add(s)}sj_pd(n);sj_sp(n);i=sj_et(n);t=tt(i);f=t&&t.elementToHighlight||i;u=e(f);r(y,l,v,a,u||g,t||k)}},sj_be(d,\"click\",nt),sj_be(d,\"keydown\",nt),d.classList&&d.classList.add(o)):(b=typeof b===t?!1:b,b&&r(y,l,v,a,g)),typeof sj_evt!==t&&sj_evt.fire(c))};n.le=function(n,t){SharedLogHelper&&SharedLogHelper.LogError&&SharedLogHelper.LogError(\"Feedback: \"+n,null,t)};n.leh=function(t,i,r){n.le(\"Feedback: \"+t+\" handler failed in \"+i,r)};n.fel=function(t,i){for(var u=[],r=2;r<arguments.length;r++)u[r-2]=arguments[r];try{u.unshift(t);sj_evt.fire.apply(null,u)}catch(f){n.leh(t,i,f);throw f;}};h=function(){function n(){this.settingsList=[]}return n.prototype.setStartSettings=function(n,t){n&&t&&this.settingsList.push({c:n,s:t})},n.prototype.findSettings=function(n){var t=null;return this.settingsList.forEach(function(i){sj_we(n,i.c)&&(t=i.s)}),t},n}()})(t=n.Bootstrap||(n.Bootstrap={}))})(Feedback||(Feedback={})),function(n){var t;(function(t){\"use strict\";function f(f,e,o,s){var k=_G.IG,d=typeof _G.V===i?_G.P:_G.V,h,y,c,a,w,v;n.fel(\"onFeedbackStarting\",\"lp\");t.staticConfig={linkId:e,activeElement:_d.activeElement};var l=\"?ig=\"+k+\"&p=\"+d,b=n.RouteProvider.Provide(f),p=encodeURIComponent;if(s){if(s.formConfig&&(b=f===\"page\"?\"sdk/form\":f,l+=\"&formconfig=\"+s.formConfig),s.service&&(t.staticConfig.service=s.service),s.scenario&&(t.staticConfig.scenario=s.scenario),c=s.context,c)for(a in c)c.hasOwnProperty(a)&&(l+=\"&\"+p(a)+\"=\"+p(c[a]));s.pos&&(t.staticConfig.pos=s.pos,l+=\"&pos=1\")}for(h=\"/feedback/\"+b+l,typeof fbsrc!==i&&(h+=\"&src=\"+p(fbsrc)),typeof fbpkgiid!==i&&fbpkgiid[f]&&(h+=\"&iid=\"+fbpkgiid[f]),w=[\"addloginsource\",\"client\",\"corpnet\",\"features\",\"hose\",\"hoseassistant\",\"logjserror\",\"msamock\",\"setvar\",\"testhooks\",\"theme\",\"uncrunched\"],v=0;v<w.length;v++)(y=location.href.match(new RegExp(\"[?&]\"+w[v]+\"=[^?&#]*\",\"i\")))&&y[0]&&(h+=\"&\"+y[0].substring(1));sj_ajax(h,{callback:function(t,i){if(t&&i)try{r&&r.removeAttribute(\"clicked\");var f=s&&_ge(s.feedbackContainerId);i.appendTo(f||_d.body);n.fel(\"onFeedbackShow\",\"lp\");n.fel(\"clarity.trigger\",\"lp\",\"BingFeedback\");n.Highlight&&o&&n.Highlight.HighlightElements(o)}catch(u){n.le(\"Package load callback failed\",u);throw u;}}});u[f]=!0}var u={},i=\"undefined\",r;t.staticConfig={};n.PackageLoad.GetHTML=function(){return _d.documentElement.outerHTML};n.PackageLoad.Load=function(n,t,e,o,s){var h,c;t=typeof t===i?!0:t;e=typeof e===i?\"\":e;c=typeof s!=i&&s&&s.feedbackContainerId;r=_ge(e);for(h in n)n.hasOwnProperty(h)&&(!t||c||typeof u[h]===i)&&f(h,e,o,s)}})(t=n.PackageLoad||(n.PackageLoad={}))}(Feedback||(Feedback={})),function(n){var t;(function(){\"use strict\";n.RouteProvider.Provide=function(n){return n===\"page\"?\"sdk/form\":n}})(t=n.RouteProvider||(n.RouteProvider={}))}(Feedback||(Feedback={}));sj_evt.bind(\"ajax.feedback.initialized\", function(args) { args[1].debugCollector.setContextValue(\"FederationDebugInfo\", \"QueryID : 93ada08134924f54906eb0aa6ee2f9f5\"); });;sa_config={\"f\":\"sb_form\",\"i\":\"sb_form_q\",\"c\":\"sw_as\",\"aadManageHistoryUrl\":\"/profile/history?FORM=O2HV46\",\"u\":\"%2fAS%2fSuggestions%3fpt%3dpage.serp%26bq%3dapi%26mkt%3dzh-cn%26ds%3dmobileweb%26qry%3d\",\"removeSuggUrl\":\"/historyHandler?oma=delete_matching_queries\\\\u0026qt=%7b0%7d\\\\u0026sig=1F575FD770396F0629974EB4715F6E9A\\\\u0026response=json\\\\u0026FORM=ASRMHS\",\"searchHistoryUrl\":\"/profile/history?FORM=ASRMHP\",\"enabledDataSources\":[\"Web\"],\"ePN\":1,\"fetchOnEmpty\":1,\"fetchOnDownArrowKey\":1,\"t\":1,\"enableSbUpdate\":1,\"ezis\":1,\"leftIconOnSuggestions\":1,\"shouldUseAsCodeVersion\":1,\"handleDuplicateFetch\":1,\"d\":100,\"removeTextLength\":28};sa_loc= {\"Suggestions\":\"\\xe5\\xbb\\xba\\xe8\\xae\\xae\",\"Feedback\":\"\\xe9\\x92\\x88\\xe5\\xaf\\xb9\\xe8\\xbf\\x99\\xe4\\xba\\x9b\\xe5\\xbb\\xba\\xe8\\xae\\xae\\xe7\\x9a\\x84\\xe5\\x8f\\x8d\\xe9\\xa6\\x88\",\"SearchRemoved\":\"\\xe6\\xad\\xa4\\xe6\\x90\\x9c\\xe7\\xb4\\xa2\\xe5\\xb7\\xb2\\xe4\\xbb\\x8e%e\\xe6\\x90\\x9c\\xe7\\xb4\\xa2\\xe5\\x8e\\x86\\xe5\\x8f\\xb2\\xe8\\xae\\xb0\\xe5\\xbd\\x95%E\\xe4\\xb8\\xad\\xe5\\x88\\xa0\\xe9\\x99\\xa4\"};;var sa_eL=!1;(function(){function e(n,t,i){n&&sj_ue(n,t,e);sa_eL=sa_eL||i;f||(f=!0,sj_evt.fire(\"AS.bootload\",n),sa_loader())}function u(n,t,i){sj_be(n,t,function(r){e(n,t,i,sj_ev(r))})}var i=sa_config,n=_ge(i.i),t,r,f;if(n.setAttribute(\"autocomplete\",\"off\"),t=_ge(i.c),!t){if(r=_ge(\"sa_qs\")||n,!r)throw new Error(\"AS init failed\");t=sj_ce(\"div\");t.id=i.c;_ge(\"sb_form_q\").nodeName===\"TEXTAREA\"?r.parentNode&&r.parentNode.parentNode.appendChild(t):r.parentNode.appendChild(t);n.setAttribute(\"aria-controls\",i.c)}f=!1;_w.sa_loader&&(\"ontouchend\"in _w&&u(n,\"touchend\",!0),u(n,\"click\",!0),u(n,\"keydown\",!0),i.ol&&u(_w,\"load\",!1))})();var MsnShared;(function(n){function f(n,t,i){var f,u,r;if(i==null)return null;if(i.getElementsByClassName)return i.getElementsByClassName(n);for(f=[],t==null&&(t=\"*\"),u=i.getElementsByTagName(t),r=0;r<u.length;r++)(\" \"+u[r].className+\" \").indexOf(\" \"+n+\" \")>-1&&f.push(u[r]);return f}function t(n,t){var i=n.classList;return i?i.contains(t):(\" \"+n.className+\" \").indexOf(\" \"+t+\" \")>=0}function i(n,t){if(n!=null){var i=n.classList;i?i.remove(t):n.className=n.className.replace(t,\"\")}}function r(n,i){if(n!=null){var r=n.classList;r?r.add(i):t(n,i)||(n.className+=\" \"+i)}}function e(n){r(n,\"b_hide\")}function o(n){i(n,\"b_hide\")}function s(){return Math.max(sb_de.scrollTop,_d.body.scrollTop)}function h(n,t,i){var r=n&&n.style;r&&r[t]!==i&&(r[t]=i)}function u(n){var t=null;return n&&(t=_w.getComputedStyle?_w.getComputedStyle(n,null):n.currentStyle),t}function c(n){var i=0,t;if(n&&(t=u(n),t)){var r=parseInt(t.height),f=parseInt(t.marginTop),e=parseInt(t.marginBottom);i=isNaN(r)?0:r;i+=isNaN(f)?0:f;i+=isNaN(e)?0:e}return i}function l(n,t,i){var r=null;return n&&n.parentNode&&t&&n.parentNode!==t&&(r=i?sj_ce(\"span\",null,i):sj_ce(\"span\"),n.parentNode.replaceChild(r,n),t.appendChild(n)),r}function a(n,i,r){if(n!=null&&i!=null&&r>0){for(var u=n;u!=null&&!t(u,i)&&r>0;)u=u.parentNode,r--;if(r>0)return u}return null}n.getElementsByClassName=f;n.hasClass=t;n.removeClass=i;n.addClass=r;n.hide=e;n.show=o;n.getScrollTop=s;n.setStyle=h;n.getComputedStyle=u;n.getCssHeight=c;n.moveToNewParent=l;n.FindParentNode=a})(MsnShared||(MsnShared={}));var UrlLib;(function(n){function t(n,t,i){var e=n.toLowerCase(),o=t.toLowerCase(),u=\"&\"+o+\"=\",r=e.indexOf(u,0),f;return(r<0&&(u=\"?\"+o+\"=\",r=e.indexOf(u,0)),r>=0)?(f=n.indexOf(\"&\",r+1),f==-1&&(f=n.length),n.replace(n.substring(r+u.length,f),i)):_w.location.hash?n.substring(0,n.indexOf(_w.location.hash)).concat(n.indexOf(\"?\")<0?\"?\":\"&\",t,\"=\",i)+_w.location.hash:n.concat(n.indexOf(\"?\")<0?\"?\":\"&\",t,\"=\",i)}n.AddParam=t})(UrlLib||(UrlLib={}));var __spreadArrays=this&&this.__spreadArrays||function(){for(var i=0,n=0,r=arguments.length;n<r;n++)i+=arguments[n].length;for(var u=Array(i),f=0,n=0;n<r;n++)for(var e=arguments[n],t=0,o=e.length;t<o;t++,f++)u[f]=e[t];return u},_lochelper;(function(n){function f(t,i){sj_cook.set(n.locationCookieName,t,i,!0,\"/\")}function i(n,t){var u=n.split(\"?\"),f,i,r;if(u.length>=2){for(f=encodeURIComponent(t)+\"=\",i=u[1].split(/[&]/g),r=i.length-1;r>=0;r--)i[r].lastIndexOf(f,0)!==-1&&i.splice(r,1);return u[0]+(i.length>0?\"?\"+i.join(\"&\"):\"\")}return n}function e(n,t,i){for(var u=[],r=3;r<arguments.length;r++)u[r-3]=arguments[r];Log&&Log.Log&&Log.Log.apply(Log,__spreadArrays([n,t,i,!0],u))}function o(t,i){var r=new Date(t.getTime()+i*1e3);return n.tiF(r)}function s(n){var i,s,t;if(typeof _w.Log2!=\"undefined\"&&Log2.LogEvent)Log2.LogEvent(\"ClientInst\",n,null,null,null,null,null,null),Log2.ForceFlush&&(i={force:!0,useSendBeacon:!0},Log2.ForceFlush(!0,i));else{var u=\"/fd/ls/lsp.aspx\",f=(new Date).getTime(),h=\"<E><T>Event.ClientInst<\\\\/T><IG>\"+_G.IG+\"<\\\\/IG><TS>\"+f+\"<\\\\/TS><D><![CDATA[[\"+n.replace(\"]\\\\]>\",\"]]]\\\\]><![CDATA[>\")+\"]]\\\\]><\\\\/D><\\\\/E>\",e=\"<ClientInstRequest><Events>\"+h+\"<\\\\/Events><STS>\"+f+\"<\\\\/STS><\\\\/ClientInstRequest>\",o=!1;navigator&&navigator[r]&&(s=new Blob([e],{type:\"text/plain\"}),o=navigator[r](u,s));o||(t=sj_gx(),t.open(\"POST\",u,!0),t.setRequestHeader(\"Content-Type\",\"text/xml\"),t.send(e))}}function h(n){if(n){for(var t=_w,i=n.split(\".\"),u=i.length,r=0;t&&r<u;)t=t[i[r++]];return t}return null}function t(n){return n>9?n.toString():\"0\"+n}n.locationCookieName=\"SRCHHPGUSR\";n.promptDetailsName=\"PromptDetails\";var u=\"ClientIP\",r=\"sendBeacon\";n.wcIP=function(n){n&&f(u,n)};n.rLocPar=function(n){var t=i(n,\"location\");return t=i(t,\"pivotEntityName\"),i(t,\"ypid\")};n.ge_fcl=function(n,t){var i=ge_cl(n,t);return i&&i.length>0?i[0]:null};n.uLC=function(t,i,r,u){var f,e;if(r&&r.length>0)for(f=0;f<r.length;f++)e=sj_cook.get(n.locationCookieName,r[f]),e!==undefined&&e!==null&&e.length>0&&e.trim().length>0&&sj_cook.set(n.locationCookieName,r[f],\"N\",!0,\"/\");sj_cook.set(n.locationCookieName,t,i,!0,\"/\");n.sRL(u)};n.sRL=function(t){sj_cook.set(n.locationCookieName,\"RL\",t?\"1\":\"0\",!0,\"/\")};n.gRL=function(){var t=sj_cook.get(n.locationCookieName,\"RL\");return t&&t===\"1\"};n.sEM=function(t,i){var r,u,s;if(t&&(r=_ge(t),r)){var e=n.ge_fcl(r,\"g_neg\"),o=n.ge_fcl(r,\"g_pos\"),f=n.ge_fcl(r,\"g_allow\");e&&o&&f&&(sa_cl(e,\"b_hide\",!1),sa_cl(o,\"b_hide\",!0),sa_cl(f,\"dis\",!0),u=f.getElementsByTagName(\"input\"),u&&u.length>0&&(u[0].tabIndex=-1));s=n.ge_fcl(r,\"g_exp\");s.className.indexOf(\"rot\")===-1&&sj_evt.fire(\"locChangerExpand_\"+t,i)}};n.sF=function(n){for(var i=[],t=1;t<arguments.length;t++)i[t-1]=arguments[t];return n.replace(/{(\\\\d+)}/g,function(n,t){return typeof i[t]!=\"undefined\"?i[t]:n})};n.tiF=function(n){return(n===undefined||n===null)&&(n=new Date),t(n.getUTCFullYear()%100)+t(n.getUTCMonth()+1)+t(n.getUTCDate())+t(n.getUTCHours())+t(n.getUTCMinutes())+t(n.getUTCSeconds())};n.rP=function(t,i){var r=UrlLib.AddParam(location.href,\"isRef\",\"1\");r=UrlLib.AddParam(r,\"showTw\",\"1\");i&&(r=UrlLib.AddParam(r,\"isAutoP\",\"1\"));r=n.rLocPar(r);location.href=UrlLib.AddParam(r,\"form\",t)};n.log=e;n.getExpiryTime=o;n.sendBeaconLog=s;n.parseFunction=h})(_lochelper||(_lochelper={}));var _getlochelper;(function(n){function u(n,u,f,e,o,s,h,c,l,a,v,y){var p,w;if(navigator&&typeof navigator.geolocation!=\"undefined\"&&typeof navigator.geolocation.getCurrentPosition==\"function\")if(p=void 0,p=navigator,typeof p.permissions!=\"undefined\"&&typeof p.permissions.query==\"function\"){w=!1;_lochelper.log(t,o,\"Perm_Available\");try{p.permissions.query({name:\"geolocation\"}).then(function(p){if(p&&typeof p.state!=\"undefined\"){if(p.state===\"denied\"){_lochelper.log(t,o,\"Perm_Denied\");_lochelper.sEM(u,!0);r(s,o,[e],y);return}p.state===\"prompt\"?_lochelper.log(t,o,\"Perm_Prompt\"):p.state===\"granted\"&&(w=!0,_lochelper.log(t,o,\"Perm_Granted\"))}if(a&&!w)return _lochelper.log(t,o,\"Perm_NotGranted_NoTryGet\"),!1;i(n,u,f,e,o,s,h,c,l,v,y)})}catch(b){_lochelper.log(t,o,\"Error2\",\"Error\",b)}}else{if(_lochelper.log(t,o,\"Perm_Unavailable\"),a)return _lochelper.log(t,o,\"Perm_Unavailable_NoTryGet\"),!1;i(n,u,f,e,o,s,h,c,l,v,y)}else _lochelper.log(t,o,\"getCurrentPosition_5\");return!1}function i(n,i,u,f,e,o,s,h,c,l,a){_lochelper.log(t,e,\"TryAsk\");var v=setTimeout(function(){_lochelper.log(t,e,\"getCurrentPosition_7\")},1e4);try{navigator.geolocation.getCurrentPosition(function(r){clearTimeout(v);_lochelper.log(t,e,\"SuccessGet\");var y=_lochelper.sF(c,r.coords.latitude,r.coords.longitude),a=sj_gx();a.open(\"GET\",y,!0);_lochelper.log(t,e,\"tryGetLocationName\");a.onreadystatechange=function(){var y,k,v,c,p,ft;if(a.readyState===4){if(y=\"\",a.status===200&&a.response)try{_lochelper.log(t,e,\"getLocationNameSuccess\");k=JSON.parse(a.response);y=k.location}catch(ct){_lochelper.log(t,e,\"getLocationNameFailure_JSONError\")}else _lochelper.log(t,e,\"getLocationNameFailure\");if(v=!0,n&&(c=_ge(_lochelper.promptDetailsName),c))if(p=c.getAttribute(\"data-noRefresh\"),p&&p===\"true\")v=!1,_lochelper.log(t,e,\"NoRefreshExplicit\");else{var d=c.getAttribute(\"data-lat\"),g=c.getAttribute(\"data-lon\"),nt=c.getAttribute(\"data-dist\");if(d&&g&&nt){var w=parseFloat(d),b=parseFloat(g),tt=parseFloat(nt);if(!(w===0&&b===0)&&w&&b&&tt){var it=Math.PI/180*w,rt=Math.PI/180*r.coords.latitude,et=Math.PI/180*(r.coords.longitude-b),ot=Math.acos(Math.sin(it)*Math.sin(rt)+Math.cos(it)*Math.cos(rt)*Math.cos(et))*3958.76;ot<tt&&(v=!1,_lochelper.log(t,e,\"NoRefreshDistance\"))}}}var ut=new Date,st=_lochelper.getExpiryTime(ut,h),ht=_lochelper.sF(u,r.coords.latitude,r.coords.longitude,r.coords.accuracy,encodeURIComponent(y),\"\",\"\",_lochelper.tiF(ut),st);_lochelper.uLC(f,ht,[o,s],!1);typeof l==\"function\"?(l(r.coords.latitude,r.coords.longitude),sj_evt.fire(\"LocChangerClose_\"+i)):v&&(_w.location.href.indexOf(\"images/search\")===-1||!n)?(_lochelper.log(t,e,\"Refresh\"),_w.geoLocSendBec===1&&(ft={T:\"CI.\"+t,FID:e,Name:\"RefreshB\"},_lochelper.sendBeaconLog(ft)),_lochelper.rP(\"GEOTRI\",n)):_lochelper.log(t,e,\"NoRefresh\")}};a.send()},function(n){if(clearTimeout(v),n&&n.code){var u=void 0;u=navigator;typeof u.permissions!=\"undefined\"&&typeof u.permissions.query==\"function\"&&u.permissions.query({name:\"geolocation\"}).then(function(i){n.code===n.PERMISSION_DENIED&&(_lochelper.log(t,e,\"Perm_UserResponseDenied\"),i.state===\"prompt\"?_lochelper.log(t,e,\"ClosedPrompt\"):i.state===\"denied\"&&_lochelper.log(t,e,\"BlockedPrompt\"))});switch(n.code){case n.PERMISSION_DENIED:_lochelper.log(t,e,\"getCurrentPosition_1\");_lochelper.sEM(i,!0);r(o,e,[f],a);break;case n.POSITION_UNAVAILABLE:_lochelper.log(t,e,\"getCurrentPosition_2\");break;case n.TIMEOUT:_lochelper.log(t,e,\"getCurrentPosition_3\");break;default:_lochelper.log(t,e,\"getCurrentPosition_4\",\"Code\",n.code.toString())}}_lochelper.sEM(i,!0)},{timeout:1e4})}catch(y){_lochelper.log(t,e,\"Error4\",\"Error\",y)}}function r(n,i,r,u){var e,f;_lochelper.log(t,i,\"block\");e=_lochelper.sF(\"TS={0}\",_lochelper.tiF());_lochelper.uLC(n,e,r,!1);f=_ge(_lochelper.promptDetailsName);f&&f.setAttribute(\"data-block\",\"1\");typeof u==\"function\"&&u()}var t=\"DevLoc\";n.tgL=function(n,i,r,f,e,o,s,h,c,l,a,v){var y=sj_cook.areCookiesAccessible();return y?u(n,i,r,f,e,o,s,h,c,l,a,v):_lochelper.log(t,e,\"getCurrentPosition_6\"),!1}})(_getlochelper||(_getlochelper={}));var PromptForUserLocation;(function(n){function t(n,t,i,r,u,f,e){var o=\"AutoPrompt\";_lochelper.log(\"DevLoc\",o,\"PromptDevLoc\");_getlochelper.tgL(!0,null,n,t,o,i,r,u,f,e,null,null)}n.init=t})(PromptForUserLocation||(PromptForUserLocation={}));sj_evt.fire(\"promptForUserLocationInit\");function init(){for(var i,t=_d.getElementsByClassName(\"toggle_item\"),n=0;n<t.length;n++)i=t[n],ToggleControl.createToggleControl(i.id)}var ToggleControlImpl;(function(n){function v(n){var t,i,h,c;r=_w.hp_addclass;u=_w.hp_removeclass;t=_ge(n);i=_ge(n+e);t&&i&&(h=function(){return f(t,i,n)},c=function(n){var t=n.which||n.keyCode;(t==13||t==32)&&(sj_pd(n),h())},sj_be(t,o,h),sj_be(t,s,c))}function f(n,f,e){var o;if(r&&u){if(f.className.indexOf(t)>-1)return;o=f.className.indexOf(i)>-1;o?u(f,i):r(f,i)}else{if(Lib.CssClass.contains(f,t))return;o=Lib.CssClass.contains(f,i);Lib.CssClass.toggle(f,i)}Log.Log(\"Click\",\"Button\",o?\"ToggleOff\":\"ToggleOn\",!1,\"AppNS\",n.getAttribute(\"data-appns\"),\"K\",n.getAttribute(\"data-k\"),\"Category\",\"CommonControls\");n.setAttribute(l,o?\"false\":\"true\");sj_evt.fire(e+h,!o)}function y(n,i,f){var e;r&&u?(e=i.className.indexOf(t)>-1,e?u(i,t):r(i,t)):(e=Lib.CssClass.contains(i,t),Lib.CssClass.toggle(i,t));n.setAttribute(a,e?\"false\":\"true\");sj_evt.fire(f+c,!e)}var e=\"_ctrl\",o=\"click\",s=\"keydown\",i=\"toggle_on\",t=\"disabled\",h=\"toggled\",c=\"disabled\",l=\"aria-pressed\",a=\"aria-disabled\",r,u;n.createToggleControl=v;n.toggleValue=f;n.toggleDisabled=y})(ToggleControlImpl||(ToggleControlImpl={}));ToggleControl=ToggleControlImpl;init();var LGWidget;(function(n){function tt(n,i,u,f,h,c,l,b){var g,d,nt;(f===void 0&&(f=!0),h===void 0&&(h=!1),c===void 0&&(c=!1),l===void 0&&(l=!1),b===void 0&&(b=0),g=n+\"Container\",t=_ge(g),r=n,y=f,o=b,p=i,h&&(t=sj_ce(\"div\",g,\"b_widgetContainer\"),d=sj_ce(\"a\",n+\"CtaBtn\",\"b_widgetCtaBtn\"),nt=sj_ce(\"div\",n+\"Gradient\",\"b_widgetGrad\"),d.target=\"_blank\",d.rel=\"noopener noreferrer\",t.appendChild(d),t.appendChild(nt)),t&&i)&&(u&&t.insertBefore(u,t.firstChild),c&&(a||e)?(e?v.insertBefore(t,e):v.insertBefore(t,a),sj_be(_w,\"scroll\",rt)):(i.appendChild(t),i.style.position=\"relative\",ut(n),l&&!w(i)?sj_be(_w,\"scroll\",it):(k(t,f),s())))}function it(){w(p)&&!i&&(k(t,y),s(),i=!0)}function w(n){var t=n.getBoundingClientRect();return t.top>=0&&t.bottom<=_w.innerHeight}function s(){c(t,r);ht(r);ft(r,t);sj_be(_w,\"resize\",ct(c.bind(this,t,r),100));sj_evt.bind(g,c.bind(this,t,r))}function rt(){var n=window.pageYOffset||_d.documentElement.scrollTop;n>=o&&!i&&(b(t),nt||s(),i=!0);n<o&&i&&(b(t,!1),i=!1)}function h(n){var u=_ge(n+\"CtaBtn\"),f=u&&u.getAttribute(\"h\"),i={appNS:null,kValue:null},t,r;return f&&(t=f.split(\",\"),t&&t.length===2&&(r=t[0].split(\"=\"),i.appNS=r&&r[1],i.kValue=t[1])),i}function ut(n){var t=_ge(n+\"Gradient\"),i=_ge(n+\"Container\");_G.RTL&&i&&t&&(i.style.borderRadius=\"0px 15px 15px 0px\",t.style.background=\"linear-gradient(90deg, rgba(0, 0, 0, 0.225) -68.75%, rgba(0, 0, 0, 0) 81.25%)\")}function c(n,t){var i=st();i>=l&&n&&Lib.CssClass.contains(n,u)?et(n,t):i<l&&n&&!Lib.CssClass.contains(n,u)&&ot(n,t)}function b(n,t){(t===void 0&&(t=!0),n)&&(t?(n.style.left=\"-144px\",n.style.display=\"block\",Lib.CssClass.remove(n,\"slide-in-is\"),Lib.CssClass.add(n,\"slide-in-os\"),n.style.zIndex=\"1\"):(n.style.left=\"0\",Lib.CssClass.remove(n,\"slide-in-os\"),Lib.CssClass.add(n,\"slide-in-is\")))}function k(n,t){n&&(n.style.display=\"block\",t?(Lib.CssClass.add(n,_G.RTL?\"slide-in-ltr\":\"slide-in\"),setTimeout(function(){n.style.zIndex=\"1\"},500)):(_G.RTL?n.style.right=\"-161px\":n.style.left=\"-161px\",n.style.zIndex=\"1\"))}function ft(n,t){if(t&&n){var i=h(n),r=_ge(n+\"CtaBtn\");t&&sj_be(t,\"mouseenter\",function(){LGUtility.instLogHover(n,f,i.appNS,i.kValue)});r&&sj_be(r,\"click\",function(){LGUtility.instLogClick(n,f,i.appNS,i.kValue)})}}function et(n,t){Lib.CssClass.remove(n,u);d(\"on\",t)}function ot(n,t){Lib.CssClass.add(n,u);d(\"off\",t)}function st(){var i=_ge(\"b_content\"),u=_G.RTL?\"padding-right\":\"padding-left\",t=i&&_w.getComputedStyle(i,null),r=t&&t.getPropertyValue(u),n=0;return t&&r&&(n=parseInt(r.split(\"px\")[0]),n=isNaN(n)?0:n),n}function ht(n){var t=h(n);LGUtility.instLogRender(n,f,t.appNS,t.kValue)}function d(n,t){var i=h(n);LGUtility.instLog(n,\"ContainerToggled\"+t,f,i.appNS,i.kValue)}function ct(n,t){var i=0;return function(){var r=arguments;sb_ct(i);i=sb_st(function(){n&&n.apply(null,r)},t)}}var u=\"b_hidden\",g=\"hideminitp\",l=160,f=\"LeftGutterWidget\",a=_ge(\"b_results\"),e=_ge(\"b_pole\"),v=_d.querySelector(\"#b_content main\"),t,y=!0,nt=!1,i=!1,r,p,o;n.initWidget=tt})(LGWidget||(LGWidget={}));var sj_appHTML=function(n,t){var f,e,o,r,i,s,h;if(t&&n){var c=\"innerHTML\",l=\"script\",a=\"appendChild\",v=\"length\",y=\"src\",p=sj_ce,u=p(\"div\");if(u[c]=\"<br>\"+t,f=u.childNodes,u.removeChild(f[0]),e=u.getElementsByTagName(l),e)for(o=0;o<e[v];o++)r=p(l),i=e[o],i&&(r.type=i.type==\"module\"||i.type==\"importmap\"?i.type:\"text/javascript\",s=i.getAttribute(y),s?(r.setAttribute(y,s),r.setAttribute(\"crossorigin\",\"anonymous\")):(r.text=i[c],r.setAttribute(\"data-bing-script\",\"1\")),i.parentNode.replaceChild(r,i));for(h=_d.createDocumentFragment();f[v];)h[a](f[0]);n[a](h)}};var sj_ajax=function(n,t){function c(){i[u]=h;i.abort&&i.abort()}function s(n,t){typeof n==\"function\"&&n(t,{request:i,appendTo:function(n){i&&sj_appHTML(n,i.responseText)}})}var r,i=sj_gx(),u=\"onreadystatechange\",f,e=null,o,l=sb_st,a=sb_ct,h=function(){};if(!n||!i){s(r,!1);return}i.open(\"get\",n,!0);t&&(r=t.callback,f=t.timeout,o=t.headers,Object.keys(o||{}).forEach(function(n){i.setRequestHeader(n,o[n])}));i[u]=function(){if(i.readyState===4){var n=!1;e!==null&&a(e);i.status===200&&(n=!0,i[u]=h);s(r,n)}};sj_evt.bind(\"ajax.unload\",c);i.send();f>0&&(e=l(function(){c();s(r,!1)},f))};var LGPopDomains;(function(n){function b(n,i,r,h,c,l,p){var w,b;if(f=n.split(\"|\"),a=r.split(\"|\"),s=h,v=p,e=c,w=k(f,l),!LGUtility.isRenderFeature(t)||g()||w.length==0||!at())return y(),null;if(b=o(t),LGUtility.instLogRender(t,u,b.appNS,b.kValue),i){y();return}nt(w)}function k(n,t){for(var r,i,u,h,c,e=[],o=[],s=_d.querySelectorAll(\".b_algo h2 a\"),f=0;f<s.length;f++)r=s[f],i=n.indexOf(d(r.hostname)),i>=0&&o.indexOf(i)==-1&&(u=r.getBoundingClientRect(),h=u&&u.top>=0&&u.bottom<=_w.innerHeight,t&&h||(c={index:i,algo:r},e.push(c)),o.push(i));return e}function d(n){return n.indexOf(\"www.\")==0?n.substring(4):n}function g(){var t,n,i;if(!!_d.querySelector(\".pa_carousel\"))return!0;for(t=_ge(\"b_results\"),n=0;n<t.children.length;n++){if(i=t.children[n],Lib.CssClass.contains(i,\"b_algo\"))break;if(Lib.CssClass.contains(i,\"b_ad\"))return!0}return!1}function y(){var n=_ge(t+\"Container\");n&&n.parentElement&&n.parentElement.removeChild(n)}function nt(n){var t=sj_ce(\"div\",null,\"b_lgpd_cont\"),u=sj_ce(\"div\",null,\"b_lgpd_title\"),e,r;for(u.innerText=s,t.appendChild(u),e=function(i){var r=sj_ce(\"div\",null,\"b_lgpd_site\"),u=sj_ce(\"div\",null,\"b_lgpd_fav\"),e=sj_ce(\"div\",null,\"b_lgpd_name\");e.innerText=a[n[i].index];r.appendChild(u);r.appendChild(e);ht(f[n[i].index],u);sj_be(r,\"click\",function(){ut(n[i])});sj_be(r,\"mouseenter\",ft);sj_be(r,\"mouseleave\",et);t.appendChild(r)},r=0;r<n.length;r++)e(r);sj_be(t,\"mouseenter\",st);t&&i&&h&&l&&(i.appendChild(t),h.insertBefore(i,l))}function tt(n){if(!r){r=sj_ce(\"div\",w,\"b_hide\");var t=sj_ce(\"div\",null,\"b_lgpd_gt\"),f=sj_ce(\"div\",null,\"b_lgpd_gti\"),u=sj_ce(\"span\");u.innerText=v;t.appendChild(f);t.appendChild(u);r.appendChild(t);sj_be(r,\"click\",function(){_w.scrollTo({top:0,behavior:\"smooth\"});it()});i.appendChild(r)}rt(n)}function it(){Lib.CssClass.add(r,\"b_hide\")}function rt(n){var u=i.getBoundingClientRect(),t=n.getBoundingClientRect();r.style.top=(t.y-u.y+t.height/2-18).toString()+\"px\";Lib.CssClass.remove(r,\"b_hide\")}function ut(n){var r=o(t),i,f;LGUtility.instLogClick(t,u,r.appNS,r.kValue);e?n.algo.click():(i=ot(n.algo),f=i.getBoundingClientRect(),!e&&f.y>=_w.innerHeight&&tt(i),i.scrollIntoView({behavior:\"smooth\",block:\"center\",inline:\"nearest\"}),Lib.CssClass.add(i,\"b_lgpd_flash\"),sb_st(function(){Lib.CssClass.remove(i,\"b_lgpd_flash\")},3e3))}function ft(){Lib.CssClass.add(i,\"b_lgpd_hov\")}function et(){Lib.CssClass.remove(i,\"b_lgpd_hov\")}function ot(n){for(var t=n;t;){if(Lib.CssClass.contains(t,\"b_algo\"))return t;t=t.parentElement}return n}function st(){var n=o(t);LGUtility.instLogHover(t,u,n.appNS,n.kValue)}function ht(n,t){if(n===\"youtube.com\"){Lib.CssClass.add(t,\"b_lgpd_yt\");return}if(n===\"imdb.com\"){Lib.CssClass.add(t,\"b_lgpd_imdb\");return}var i=\"/favicon/hash?domain=\"+n;sj_ajax(i,{callback:function(n,i){var u,r=(u=i===null||i===void 0?void 0:i.request)===null||u===void 0?void 0:u.response,f,e;n&&i&&r!=\"\"&&(f=r.indexOf(\"<!--<!\"),e=f>-1?r.substring(0,f).trim():r,lt(e,t))}})}function ct(n){var t=sj_gx();return t.open(\"HEAD\",n,!1),t.send(),t.status!=404}function lt(n,t){var r=\"/th?id=ODF.\"+n+\"&pid=Api&w=42&h=42&dpr=1.5\",i;ct(r)?(i=sj_ce(\"img\",null,\"b_favImg\"),i.src=r,i.width=42,i.height=42,t.appendChild(i)):(i=sj_ce(\"div\",null,\"b_lgl_nofav\"),t.appendChild(i))}function o(n){var u=_ge(n+\"CtaBtn\"),f=u&&u.getAttribute(\"h\"),i={appNS:null,kValue:null},t,r;return f&&(t=f.split(\",\"),t&&t.length===2&&(r=t[0].split(\"=\"),i.appNS=r&&r[1],i.kValue=t[1])),i}function at(){return c?parseInt(getComputedStyle(c)[p])>=160:!1}var t=\"LGPopDomains\",u=\"LeftGutterWidget\",s=\"On this page:\",p=_G.RTL?\"paddingRight\":\"paddingLeft\",h=_d.querySelector(\"#b_content main\"),c=_ge(\"b_content\"),l=_ge(\"b_results\"),i=sj_ce(\"div\",\"b_lgpd\",null),w=\"b_lgpd_gtcont\";i.setAttribute(\"data-priority\",\"2\");var f=[],a=[],e=!1,v=\"Go to top\",r;n.init=b;sj_evt.fire(\"LGPopDomInit\")})(LGPopDomains||(LGPopDomains={}));var BingAtWork;(function(n){var t;(function(n){function a(){s&&v();var n=h.value;/\\\\S/.test(n)&&i()}function v(){var o=_qs(\"#sa_ul\",t),n=o&&o.childNodes,u=[],i,f,e;if(n&&n.forEach(function(n){u.push(n.id)}),i=[u.indexOf(\"bawh\"),u.indexOf(\"sa_baw\")].filter(function(n){return n>=0}),i.length>0){f=n.length;e=0;i.forEach(function(t){var i=n[t].childNodes.length;e+=i;f+=i-1});var s=Math.min.apply(Math,i),h=n[s].firstChild,c=h&&h.getAttribute(\"stype\"),r=document.createElement(\"input\");r.setAttribute(\"name\",\"msbsrank\");r.setAttribute(\"value\",[s.toString(),f.toString(),c,e.toString()].join(\"_\"));r.setAttribute(\"type\",\"hidden\");t.appendChild(r)}}function y(n){var t=n[0],r=n[1],u=n[2];i()}function p(n){var t=n&&n.length>1&&n[1];t&&Lib.CssClass.contains(t,\"b_searchbox\")&&w()}function w(){Lib.CssClass.add(sj_b,f)}function i(){Lib.CssClass.remove(sj_b,f)}function b(){Lib.CssClass.remove(sj_b,o)}function k(){Lib.CssClass.add(sj_b,o)}function d(){Lib.CssClass.add(sj_b,e)}function g(){Lib.CssClass.remove(sj_b,e)}function nt(){sj_evt.bind(\"autosuggestHide\",y,!0);sj_evt.bind(\"focusChange\",p,!0);sj_evt.bind(\"AS.Canvas.Show\",b);sj_evt.bind(\"AS.Canvas.Hide\",k);sj_evt.bind(\"AS.Layout.NextWord.Show\",d);sj_evt.bind(\"AS.Layout.NextWord.Hide\",g);t&&sj_be(t,\"submit\",a)}function r(n){u||(t=_ge(c),h=_ge(l),i(),s=n,nt(),u=!0)}var u=!1,f=\"as_on\",e=\"as_nw\",o=\"as_no_s\",c=\"sb_form\",l=\"sb_form_q\",s=!1,t,h;n.init=r;sj_be(_d,\"DOMContentLoaded\",r);sj_evt.bind(\"onP1\",r,!0);sj_evt.bind(\"ajax.load\",r,!0);sj_evt.bind(\"pagehide\",i);sj_evt.bind(\"ajax.unload\",i)})(t=n.HeaderWithAutoSuggestState||(n.HeaderWithAutoSuggestState={}))})(BingAtWork||(BingAtWork={}));BingAtWork.HeaderWithAutoSuggestState.init && BingAtWork.HeaderWithAutoSuggestState.init(false);;\\n//]]>--></div><div style=\"display:none\"><!--//<![CDATA[\\n0;\\n//]]>--></div><div style=\"display:none\"><!--//<![CDATA[\\nvar wlc=function(n,t,i){var u,f,r;n&&Identity&&(u=Identity.popupLoginUrls)&&(f=u.WindowsLiveId)&&Identity.wlProfile&&(r=_d.createElement(\"iframe\"),r.style.display=\"none\",r.src=f+\"&checkda=1\",r.setAttribute(\"data-priority\",\"2\"),_d.body.appendChild(r),i&&t&&t(\"SRCHHPGUSR\",\"WTS\",i,1,\"/\"))};\\n//]]>--></div><div style=\"display:none\"><!--//<![CDATA[\\n(function() { var conditionalSignInParams ={\"notifEnabled\":true,\"notifFetchAsync\":false}; BingAtWork.ConditionalSignIn && BingAtWork.ConditionalSignIn.bindToConditionalSignIn && BingAtWork.ConditionalSignIn.bindToConditionalSignIn(conditionalSignInParams); })();;(function() { var config ={\"url\":\"https%3a%2f%2flogin.microsoftonline.com%2fcommon%2foauth2%2fauthorize%3fclient_id%3d9ea1ad79-fdb6-4f9a-8bc3-2b70f96e34c7%26response_type%3did_token%2bcode%26nonce%3d6e23d08e-9992-4fc6-82a4-1fec7c023ddf%26redirect_uri%3dhttps%253a%252f%252fcn.bing.com%252forgid%252fidtoken%252fconditional%26scope%3dopenid%26response_mode%3dform_post%26msafed%3d0%26prompt%3dnone%26state%3d%257b%2522ig%2522%253a%2522684A100419174178AD1FB34F35F36257%2522%257d\",\"sandbox\":\"allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts\",\"currentEpoch\":\"1646907169000\"}; sj_evt.fire(\\'ssoFrameExists\\', config); })();;\\n//]]>--></div><div style=\"display:none\"><!--//<![CDATA[\\nsb_ie&&function(){function h(){if(t){var u=n.replace(/www\\\\./i,\"\");return f&&i(t,r,n+\"?PC=\"+f)||i(t,r,n)||i(t,r,u)||i(t,r,n+\"?Form=HPPDH1\")||i(t,r,n+\"?PC=BNHP\")||i(t,r,n+\"?PC=BNSR\")}return 0}function c(){return i(_w.external,s,n)!=0}function l(){if(u){var n=2*e+o;if(u==n)return!0}return!1}function a(){var n=_ge(\"hps\");return n||(n=sj_ce(\"span\",\"hps\"),n.style.behavior=\"url(#default#homepage)\",sj_b.appendChild(n)),n}function i(n,t,i){try{return n[t](i)}catch(r){return 0}}var s=\"IsSearchProviderInstalled\",r=\"isHomepage\",n=\"http://\"+_d.domain+\"/\",u=sj_cook.get(\"_UR\",\"D\"),f=sj_cook.get(\"SRCHS\",\"PC\"),t=a(),e=h(),o=c();l()||(u=2*e+o,sj_cook.set(\"_UR\",\"D\",u,1,\"/\"))}();\\n//]]>--></div><div style=\"display:none\"><!--//<![CDATA[\\n0;var AFDMouseLog;(function(){function n(){var n,i;if(typeof mouselog==\"undefined\"){if(n=sj_ce(\"script\"),n.type=\"text/javascript\",n.src=\"https://www.bing.com/mouselog1.14.min.js\",i=_d.getElementsByTagName(\"body\")[0],!i)return;i.appendChild(n);sj_be(n,\"load\",t)}}function t(){typeof mouselog!=\"undefined\"&&mouselog.init()}sj_evt.bind(\"onP1\",n,!0,8e3)})(AFDMouseLog||(AFDMouseLog={}));Feedback.Bootstrap.InitializeFeedback({page:true},\"sb_feedback\",1,0,0);;\\n//]]>--></div><div style=\"display:none\"><!--//<![CDATA[\\nvar OpenInNewWindow;(function(n){function i(n,t){var r,u,i,f,o;if(t===void 0&&(t=!1),r=n?n.getElementsByTagName(\"a\"):null,r)for(u=0;u<r.length;u++)i=r[u],i.getAttribute(\"target\")||(f=i.getAttribute(\"href\"),o=f&&f.indexOf(\"javascript:void(0)\")>-1,o||t&&!e(i)||i.setAttribute(\"target\",\"_blank\"))}function t(n){return n&&n.replace(/(\\\\b\\\\/|\\\\/\\\\b)/g,\"\")}function e(n){var i=t(n.hostname),r=t(n.pathname);return i&&i!=u||r!=f}function o(n){if(n.hasChildNodes()&&n.firstChild.nodeType==1){var t=MsnShared.hasClass(n.childNodes[0],\"b_rs\"),i=n.childNodes[0].getAttribute(\"id\")==\"sp_requery\";return!t&&!i}return!1}function r(n,t,r){var u=MsnShared.getElementsByClassName(r,t,n),f,e,s;if(u&&u.length>0)for(f=0;f<u.length;f++)e=u[f],s=o(e),s&&i(e)}function s(){var t=_ge(\"b_results\"),n;t&&(r(t,\"li\",\"b_ans\"),r(t,\"div\",\"sa_uc\"));n=_ge(\"b_context\");n&&(r(n,\"div\",\"b_re\"),i(n,!0))}var u=t(_w.location.hostname),f=t(_w.location.pathname);n.openExternalLink=i;n.exec=s})(OpenInNewWindow||(OpenInNewWindow={}));OpenInNewWindow.exec();\\n//]]>--></div><div style=\"display:none\"><!--//<![CDATA[\\nsj_evt.bind(\"promptForUserLocationInit\", function() { PromptForUserLocation.init(\"LAT={0}|LON={1}|A={2}|N={3}|C={4}|S={5}|TS={6}|ETS={7}|\",\"DLOC\",\"BLOCK\",\"ULOC\",600,\"/Geolocation/getLocName?lat={0}\\\\u0026lon={1}\",true); }, 1);;\\n//]]>--></div></div><script type=\"text/javascript\" >//<![CDATA[\\r\\n_G.HT=new Date;\\r\\n//]]></script></body></html>'"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r.content"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "47a73d23",
   "metadata": {},
   "source": [
    "## JSON响应内容\n",
    "- json()数据交换的常用表达式"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "643eb224",
   "metadata": {},
   "outputs": [],
   "source": [
    "r = requests.get(\"https://api.github.com/events\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "19912c00",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[{'id': '20676880376',\n",
       "  'type': 'PushEvent',\n",
       "  'actor': {'id': 49183386,\n",
       "   'login': 'mjpernot',\n",
       "   'display_login': 'mjpernot',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/users/mjpernot',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/49183386?'},\n",
       "  'repo': {'id': 452721170,\n",
       "   'name': 'mjpernot/mongo-lib',\n",
       "   'url': 'https://api.github.com/repos/mjpernot/mongo-lib'},\n",
       "  'payload': {'push_id': 9314622257,\n",
       "   'size': 1,\n",
       "   'distinct_size': 1,\n",
       "   'ref': 'refs/heads/mod/421c1',\n",
       "   'head': '3825b74c2b80730aea7bbdc6d88cf786b622abae',\n",
       "   'before': '2ba0cc6e6eb3c3b03d82c5716635cae390e7ac02',\n",
       "   'commits': [{'sha': '3825b74c2b80730aea7bbdc6d88cf786b622abae',\n",
       "     'author': {'email': 'mark.pernot@gmail.com', 'name': 'Mark Pernot'},\n",
       "     'message': 'Update Jenkinsfile v4.2.1',\n",
       "     'distinct': True,\n",
       "     'url': 'https://api.github.com/repos/mjpernot/mongo-lib/commits/3825b74c2b80730aea7bbdc6d88cf786b622abae'}]},\n",
       "  'public': True,\n",
       "  'created_at': '2022-03-10T10:07:37Z'},\n",
       " {'id': '20676880316',\n",
       "  'type': 'PushEvent',\n",
       "  'actor': {'id': 40547999,\n",
       "   'login': 'anuragjha',\n",
       "   'display_login': 'anuragjha',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/users/anuragjha',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/40547999?'},\n",
       "  'repo': {'id': 453560409,\n",
       "   'name': 'jetoslabs/dhruv-email-integration',\n",
       "   'url': 'https://api.github.com/repos/jetoslabs/dhruv-email-integration'},\n",
       "  'payload': {'push_id': 9314622234,\n",
       "   'size': 2,\n",
       "   'distinct_size': 2,\n",
       "   'ref': 'refs/heads/mvp/email-integration/to/main',\n",
       "   'head': '942f00b8338b6654f0e9734e4f4d4458cb5bb828',\n",
       "   'before': 'b77a7da2b75cd36811b306b949876aff78c07b0d',\n",
       "   'commits': [{'sha': 'c4d1456f0e11bfea5e6680af60a43e23d417c53e',\n",
       "     'author': {'email': 'toanuragjha@gmail.com', 'name': 'Anurag Jha'},\n",
       "     'message': 'chore',\n",
       "     'distinct': True,\n",
       "     'url': 'https://api.github.com/repos/jetoslabs/dhruv-email-integration/commits/c4d1456f0e11bfea5e6680af60a43e23d417c53e'},\n",
       "    {'sha': '942f00b8338b6654f0e9734e4f4d4458cb5bb828',\n",
       "     'author': {'email': 'toanuragjha@gmail.com', 'name': 'Anurag Jha'},\n",
       "     'message': 'top level function process_and_save_user_messages_attachments_to_disk',\n",
       "     'distinct': True,\n",
       "     'url': 'https://api.github.com/repos/jetoslabs/dhruv-email-integration/commits/942f00b8338b6654f0e9734e4f4d4458cb5bb828'}]},\n",
       "  'public': True,\n",
       "  'created_at': '2022-03-10T10:07:37Z',\n",
       "  'org': {'id': 65314258,\n",
       "   'login': 'jetoslabs',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/orgs/jetoslabs',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/65314258?'}},\n",
       " {'id': '20676880331',\n",
       "  'type': 'PullRequestReviewEvent',\n",
       "  'actor': {'id': 60262784,\n",
       "   'login': 'andrii-lysenko',\n",
       "   'display_login': 'andrii-lysenko',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/users/andrii-lysenko',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/60262784?'},\n",
       "  'repo': {'id': 45936895,\n",
       "   'name': 'Automattic/wp-calypso',\n",
       "   'url': 'https://api.github.com/repos/Automattic/wp-calypso'},\n",
       "  'payload': {'action': 'created',\n",
       "   'review': {'id': 905599641,\n",
       "    'node_id': 'PRR_kwDOArzw_841-lqZ',\n",
       "    'user': {'login': 'andrii-lysenko',\n",
       "     'id': 60262784,\n",
       "     'node_id': 'MDQ6VXNlcjYwMjYyNzg0',\n",
       "     'avatar_url': 'https://avatars.githubusercontent.com/u/60262784?v=4',\n",
       "     'gravatar_id': '',\n",
       "     'url': 'https://api.github.com/users/andrii-lysenko',\n",
       "     'html_url': 'https://github.com/andrii-lysenko',\n",
       "     'followers_url': 'https://api.github.com/users/andrii-lysenko/followers',\n",
       "     'following_url': 'https://api.github.com/users/andrii-lysenko/following{/other_user}',\n",
       "     'gists_url': 'https://api.github.com/users/andrii-lysenko/gists{/gist_id}',\n",
       "     'starred_url': 'https://api.github.com/users/andrii-lysenko/starred{/owner}{/repo}',\n",
       "     'subscriptions_url': 'https://api.github.com/users/andrii-lysenko/subscriptions',\n",
       "     'organizations_url': 'https://api.github.com/users/andrii-lysenko/orgs',\n",
       "     'repos_url': 'https://api.github.com/users/andrii-lysenko/repos',\n",
       "     'events_url': 'https://api.github.com/users/andrii-lysenko/events{/privacy}',\n",
       "     'received_events_url': 'https://api.github.com/users/andrii-lysenko/received_events',\n",
       "     'type': 'User',\n",
       "     'site_admin': False},\n",
       "    'body': None,\n",
       "    'commit_id': '354e775351217396af5ad1f322aa67a58a001f18',\n",
       "    'submitted_at': '2022-03-10T10:07:37Z',\n",
       "    'state': 'commented',\n",
       "    'html_url': 'https://github.com/Automattic/wp-calypso/pull/61253#pullrequestreview-905599641',\n",
       "    'pull_request_url': 'https://api.github.com/repos/Automattic/wp-calypso/pulls/61253',\n",
       "    'author_association': 'CONTRIBUTOR',\n",
       "    '_links': {'html': {'href': 'https://github.com/Automattic/wp-calypso/pull/61253#pullrequestreview-905599641'},\n",
       "     'pull_request': {'href': 'https://api.github.com/repos/Automattic/wp-calypso/pulls/61253'}}},\n",
       "   'pull_request': {'url': 'https://api.github.com/repos/Automattic/wp-calypso/pulls/61253',\n",
       "    'id': 857186707,\n",
       "    'node_id': 'PR_kwDOArzw_84zF6GT',\n",
       "    'html_url': 'https://github.com/Automattic/wp-calypso/pull/61253',\n",
       "    'diff_url': 'https://github.com/Automattic/wp-calypso/pull/61253.diff',\n",
       "    'patch_url': 'https://github.com/Automattic/wp-calypso/pull/61253.patch',\n",
       "    'issue_url': 'https://api.github.com/repos/Automattic/wp-calypso/issues/61253',\n",
       "    'number': 61253,\n",
       "    'state': 'open',\n",
       "    'locked': False,\n",
       "    'title': 'Fix: locale redirect on pricing page',\n",
       "    'user': {'login': 'andrii-lysenko',\n",
       "     'id': 60262784,\n",
       "     'node_id': 'MDQ6VXNlcjYwMjYyNzg0',\n",
       "     'avatar_url': 'https://avatars.githubusercontent.com/u/60262784?v=4',\n",
       "     'gravatar_id': '',\n",
       "     'url': 'https://api.github.com/users/andrii-lysenko',\n",
       "     'html_url': 'https://github.com/andrii-lysenko',\n",
       "     'followers_url': 'https://api.github.com/users/andrii-lysenko/followers',\n",
       "     'following_url': 'https://api.github.com/users/andrii-lysenko/following{/other_user}',\n",
       "     'gists_url': 'https://api.github.com/users/andrii-lysenko/gists{/gist_id}',\n",
       "     'starred_url': 'https://api.github.com/users/andrii-lysenko/starred{/owner}{/repo}',\n",
       "     'subscriptions_url': 'https://api.github.com/users/andrii-lysenko/subscriptions',\n",
       "     'organizations_url': 'https://api.github.com/users/andrii-lysenko/orgs',\n",
       "     'repos_url': 'https://api.github.com/users/andrii-lysenko/repos',\n",
       "     'events_url': 'https://api.github.com/users/andrii-lysenko/events{/privacy}',\n",
       "     'received_events_url': 'https://api.github.com/users/andrii-lysenko/received_events',\n",
       "     'type': 'User',\n",
       "     'site_admin': False},\n",
       "    'body': \"#### Changes proposed in this Pull Request\\r\\n\\r\\nCurrently, the checkout page on Calypso doesn't take language into account. It means when redirected from cloud.jetpack.com and jetpack.com to checkout, not logged in, language will be English by default. We are adding to two URLs: `/checkout/jetpack/:productSlug` and `/checkout/jetpack/:siteSlug/:productSlug` lang param in the end to handle language.\\r\\nIn this PR we are also passing it from cloud.jetpack.com side.\\r\\n\\r\\nNote: jetpack.com -> wordpress.com/checkout... will be handled separately.\\r\\n\\r\\n#### Testing instructions\\r\\nTo test locally:\\r\\n- Checkout the branch locally.\\r\\n- `yarn install`\\r\\n- `yarn start-jetpack-cloud` \\r\\n- `PORT=443 PROTOCOL=https yarn start`\\r\\n- Add next line to hosts file (or using gasmask) `127.0.0.1 wordpress.com` and 'flush dns'\\r\\n\\r\\n- navigate to http://jetpack.cloud.localhost:3000/pricing , then try to purchase a product. You should be redirected correctly to `wordpress.com/checkout...` with default language.\\r\\n- navigate to  http://jetpack.cloud.localhost:3000/fr/pricing or change the language manually to not default. You should be redirected to a proper checkout page with the language selected previously.\\r\\n- These steps should also work with site selected when purchase on `checkout/jetpack`. On cloud jetpack when `canDoUnlinkedCheckout` is set to true.\\r\\n- Need also to check that all links to checkout from cloud.jetpack.com and jetpack.com to wordpress.com/checkout are working properly.\\r\\n\\r\\nRelated to #\\r\\n1164141197617539-as-1201508699348275/f\\r\\n\\r\\nDiscussion:\\r\\np9oQ9f-10K-p2\",\n",
       "    'created_at': '2022-02-18T15:05:14Z',\n",
       "    'updated_at': '2022-03-10T10:07:37Z',\n",
       "    'closed_at': None,\n",
       "    'merged_at': None,\n",
       "    'merge_commit_sha': '944b79635203b9fb4fdae5141c186c136b4575d1',\n",
       "    'assignee': {'login': 'andrii-lysenko',\n",
       "     'id': 60262784,\n",
       "     'node_id': 'MDQ6VXNlcjYwMjYyNzg0',\n",
       "     'avatar_url': 'https://avatars.githubusercontent.com/u/60262784?v=4',\n",
       "     'gravatar_id': '',\n",
       "     'url': 'https://api.github.com/users/andrii-lysenko',\n",
       "     'html_url': 'https://github.com/andrii-lysenko',\n",
       "     'followers_url': 'https://api.github.com/users/andrii-lysenko/followers',\n",
       "     'following_url': 'https://api.github.com/users/andrii-lysenko/following{/other_user}',\n",
       "     'gists_url': 'https://api.github.com/users/andrii-lysenko/gists{/gist_id}',\n",
       "     'starred_url': 'https://api.github.com/users/andrii-lysenko/starred{/owner}{/repo}',\n",
       "     'subscriptions_url': 'https://api.github.com/users/andrii-lysenko/subscriptions',\n",
       "     'organizations_url': 'https://api.github.com/users/andrii-lysenko/orgs',\n",
       "     'repos_url': 'https://api.github.com/users/andrii-lysenko/repos',\n",
       "     'events_url': 'https://api.github.com/users/andrii-lysenko/events{/privacy}',\n",
       "     'received_events_url': 'https://api.github.com/users/andrii-lysenko/received_events',\n",
       "     'type': 'User',\n",
       "     'site_admin': False},\n",
       "    'assignees': [{'login': 'andrii-lysenko',\n",
       "      'id': 60262784,\n",
       "      'node_id': 'MDQ6VXNlcjYwMjYyNzg0',\n",
       "      'avatar_url': 'https://avatars.githubusercontent.com/u/60262784?v=4',\n",
       "      'gravatar_id': '',\n",
       "      'url': 'https://api.github.com/users/andrii-lysenko',\n",
       "      'html_url': 'https://github.com/andrii-lysenko',\n",
       "      'followers_url': 'https://api.github.com/users/andrii-lysenko/followers',\n",
       "      'following_url': 'https://api.github.com/users/andrii-lysenko/following{/other_user}',\n",
       "      'gists_url': 'https://api.github.com/users/andrii-lysenko/gists{/gist_id}',\n",
       "      'starred_url': 'https://api.github.com/users/andrii-lysenko/starred{/owner}{/repo}',\n",
       "      'subscriptions_url': 'https://api.github.com/users/andrii-lysenko/subscriptions',\n",
       "      'organizations_url': 'https://api.github.com/users/andrii-lysenko/orgs',\n",
       "      'repos_url': 'https://api.github.com/users/andrii-lysenko/repos',\n",
       "      'events_url': 'https://api.github.com/users/andrii-lysenko/events{/privacy}',\n",
       "      'received_events_url': 'https://api.github.com/users/andrii-lysenko/received_events',\n",
       "      'type': 'User',\n",
       "      'site_admin': False}],\n",
       "    'requested_reviewers': [],\n",
       "    'requested_teams': [{'name': 'Shilling',\n",
       "      'id': 3808525,\n",
       "      'node_id': 'MDQ6VGVhbTM4MDg1MjU=',\n",
       "      'slug': 'shilling',\n",
       "      'description': 'WordPress.com Checkout, purchase management, and related packages.',\n",
       "      'privacy': 'closed',\n",
       "      'url': 'https://api.github.com/organizations/887802/team/3808525',\n",
       "      'html_url': 'https://github.com/orgs/Automattic/teams/shilling',\n",
       "      'members_url': 'https://api.github.com/organizations/887802/team/3808525/members{/member}',\n",
       "      'repositories_url': 'https://api.github.com/organizations/887802/team/3808525/repos',\n",
       "      'permission': 'pull',\n",
       "      'parent': {'name': 'Payments',\n",
       "       'id': 2617354,\n",
       "       'node_id': 'MDQ6VGVhbTI2MTczNTQ=',\n",
       "       'slug': 'payments',\n",
       "       'description': 'Payments!',\n",
       "       'privacy': 'closed',\n",
       "       'url': 'https://api.github.com/organizations/887802/team/2617354',\n",
       "       'html_url': 'https://github.com/orgs/Automattic/teams/payments',\n",
       "       'members_url': 'https://api.github.com/organizations/887802/team/2617354/members{/member}',\n",
       "       'repositories_url': 'https://api.github.com/organizations/887802/team/2617354/repos',\n",
       "       'permission': 'pull'}}],\n",
       "    'labels': [{'id': 285009991,\n",
       "      'node_id': 'MDU6TGFiZWwyODUwMDk5OTE=',\n",
       "      'url': 'https://api.github.com/repos/Automattic/wp-calypso/labels/Jetpack',\n",
       "      'name': 'Jetpack',\n",
       "      'color': '006b75',\n",
       "      'default': False,\n",
       "      'description': None},\n",
       "     {'id': 285010017,\n",
       "      'node_id': 'MDU6TGFiZWwyODUwMTAwMTc=',\n",
       "      'url': 'https://api.github.com/repos/Automattic/wp-calypso/labels/[Status]%20In%20Progress',\n",
       "      'name': '[Status] In Progress',\n",
       "      'color': '207de5',\n",
       "      'default': False,\n",
       "      'description': None},\n",
       "     {'id': 285010018,\n",
       "      'node_id': 'MDU6TGFiZWwyODUwMTAwMTg=',\n",
       "      'url': 'https://api.github.com/repos/Automattic/wp-calypso/labels/[Status]%20Needs%20Review',\n",
       "      'name': '[Status] Needs Review',\n",
       "      'color': 'fbca04',\n",
       "      'default': False,\n",
       "      'description': 'The PR is ready for review. This also triggers e2e canary tests and wp-desktop tests automatically.'}],\n",
       "    'milestone': None,\n",
       "    'draft': False,\n",
       "    'commits_url': 'https://api.github.com/repos/Automattic/wp-calypso/pulls/61253/commits',\n",
       "    'review_comments_url': 'https://api.github.com/repos/Automattic/wp-calypso/pulls/61253/comments',\n",
       "    'review_comment_url': 'https://api.github.com/repos/Automattic/wp-calypso/pulls/comments{/number}',\n",
       "    'comments_url': 'https://api.github.com/repos/Automattic/wp-calypso/issues/61253/comments',\n",
       "    'statuses_url': 'https://api.github.com/repos/Automattic/wp-calypso/statuses/354e775351217396af5ad1f322aa67a58a001f18',\n",
       "    'head': {'label': 'Automattic:fix/locale-redirect-on-pricing-page',\n",
       "     'ref': 'fix/locale-redirect-on-pricing-page',\n",
       "     'sha': '354e775351217396af5ad1f322aa67a58a001f18',\n",
       "     'user': {'login': 'Automattic',\n",
       "      'id': 887802,\n",
       "      'node_id': 'MDEyOk9yZ2FuaXphdGlvbjg4NzgwMg==',\n",
       "      'avatar_url': 'https://avatars.githubusercontent.com/u/887802?v=4',\n",
       "      'gravatar_id': '',\n",
       "      'url': 'https://api.github.com/users/Automattic',\n",
       "      'html_url': 'https://github.com/Automattic',\n",
       "      'followers_url': 'https://api.github.com/users/Automattic/followers',\n",
       "      'following_url': 'https://api.github.com/users/Automattic/following{/other_user}',\n",
       "      'gists_url': 'https://api.github.com/users/Automattic/gists{/gist_id}',\n",
       "      'starred_url': 'https://api.github.com/users/Automattic/starred{/owner}{/repo}',\n",
       "      'subscriptions_url': 'https://api.github.com/users/Automattic/subscriptions',\n",
       "      'organizations_url': 'https://api.github.com/users/Automattic/orgs',\n",
       "      'repos_url': 'https://api.github.com/users/Automattic/repos',\n",
       "      'events_url': 'https://api.github.com/users/Automattic/events{/privacy}',\n",
       "      'received_events_url': 'https://api.github.com/users/Automattic/received_events',\n",
       "      'type': 'Organization',\n",
       "      'site_admin': False},\n",
       "     'repo': {'id': 45936895,\n",
       "      'node_id': 'MDEwOlJlcG9zaXRvcnk0NTkzNjg5NQ==',\n",
       "      'name': 'wp-calypso',\n",
       "      'full_name': 'Automattic/wp-calypso',\n",
       "      'private': False,\n",
       "      'owner': {'login': 'Automattic',\n",
       "       'id': 887802,\n",
       "       'node_id': 'MDEyOk9yZ2FuaXphdGlvbjg4NzgwMg==',\n",
       "       'avatar_url': 'https://avatars.githubusercontent.com/u/887802?v=4',\n",
       "       'gravatar_id': '',\n",
       "       'url': 'https://api.github.com/users/Automattic',\n",
       "       'html_url': 'https://github.com/Automattic',\n",
       "       'followers_url': 'https://api.github.com/users/Automattic/followers',\n",
       "       'following_url': 'https://api.github.com/users/Automattic/following{/other_user}',\n",
       "       'gists_url': 'https://api.github.com/users/Automattic/gists{/gist_id}',\n",
       "       'starred_url': 'https://api.github.com/users/Automattic/starred{/owner}{/repo}',\n",
       "       'subscriptions_url': 'https://api.github.com/users/Automattic/subscriptions',\n",
       "       'organizations_url': 'https://api.github.com/users/Automattic/orgs',\n",
       "       'repos_url': 'https://api.github.com/users/Automattic/repos',\n",
       "       'events_url': 'https://api.github.com/users/Automattic/events{/privacy}',\n",
       "       'received_events_url': 'https://api.github.com/users/Automattic/received_events',\n",
       "       'type': 'Organization',\n",
       "       'site_admin': False},\n",
       "      'html_url': 'https://github.com/Automattic/wp-calypso',\n",
       "      'description': 'The JavaScript and API powered WordPress.com',\n",
       "      'fork': False,\n",
       "      'url': 'https://api.github.com/repos/Automattic/wp-calypso',\n",
       "      'forks_url': 'https://api.github.com/repos/Automattic/wp-calypso/forks',\n",
       "      'keys_url': 'https://api.github.com/repos/Automattic/wp-calypso/keys{/key_id}',\n",
       "      'collaborators_url': 'https://api.github.com/repos/Automattic/wp-calypso/collaborators{/collaborator}',\n",
       "      'teams_url': 'https://api.github.com/repos/Automattic/wp-calypso/teams',\n",
       "      'hooks_url': 'https://api.github.com/repos/Automattic/wp-calypso/hooks',\n",
       "      'issue_events_url': 'https://api.github.com/repos/Automattic/wp-calypso/issues/events{/number}',\n",
       "      'events_url': 'https://api.github.com/repos/Automattic/wp-calypso/events',\n",
       "      'assignees_url': 'https://api.github.com/repos/Automattic/wp-calypso/assignees{/user}',\n",
       "      'branches_url': 'https://api.github.com/repos/Automattic/wp-calypso/branches{/branch}',\n",
       "      'tags_url': 'https://api.github.com/repos/Automattic/wp-calypso/tags',\n",
       "      'blobs_url': 'https://api.github.com/repos/Automattic/wp-calypso/git/blobs{/sha}',\n",
       "      'git_tags_url': 'https://api.github.com/repos/Automattic/wp-calypso/git/tags{/sha}',\n",
       "      'git_refs_url': 'https://api.github.com/repos/Automattic/wp-calypso/git/refs{/sha}',\n",
       "      'trees_url': 'https://api.github.com/repos/Automattic/wp-calypso/git/trees{/sha}',\n",
       "      'statuses_url': 'https://api.github.com/repos/Automattic/wp-calypso/statuses/{sha}',\n",
       "      'languages_url': 'https://api.github.com/repos/Automattic/wp-calypso/languages',\n",
       "      'stargazers_url': 'https://api.github.com/repos/Automattic/wp-calypso/stargazers',\n",
       "      'contributors_url': 'https://api.github.com/repos/Automattic/wp-calypso/contributors',\n",
       "      'subscribers_url': 'https://api.github.com/repos/Automattic/wp-calypso/subscribers',\n",
       "      'subscription_url': 'https://api.github.com/repos/Automattic/wp-calypso/subscription',\n",
       "      'commits_url': 'https://api.github.com/repos/Automattic/wp-calypso/commits{/sha}',\n",
       "      'git_commits_url': 'https://api.github.com/repos/Automattic/wp-calypso/git/commits{/sha}',\n",
       "      'comments_url': 'https://api.github.com/repos/Automattic/wp-calypso/comments{/number}',\n",
       "      'issue_comment_url': 'https://api.github.com/repos/Automattic/wp-calypso/issues/comments{/number}',\n",
       "      'contents_url': 'https://api.github.com/repos/Automattic/wp-calypso/contents/{+path}',\n",
       "      'compare_url': 'https://api.github.com/repos/Automattic/wp-calypso/compare/{base}...{head}',\n",
       "      'merges_url': 'https://api.github.com/repos/Automattic/wp-calypso/merges',\n",
       "      'archive_url': 'https://api.github.com/repos/Automattic/wp-calypso/{archive_format}{/ref}',\n",
       "      'downloads_url': 'https://api.github.com/repos/Automattic/wp-calypso/downloads',\n",
       "      'issues_url': 'https://api.github.com/repos/Automattic/wp-calypso/issues{/number}',\n",
       "      'pulls_url': 'https://api.github.com/repos/Automattic/wp-calypso/pulls{/number}',\n",
       "      'milestones_url': 'https://api.github.com/repos/Automattic/wp-calypso/milestones{/number}',\n",
       "      'notifications_url': 'https://api.github.com/repos/Automattic/wp-calypso/notifications{?since,all,participating}',\n",
       "      'labels_url': 'https://api.github.com/repos/Automattic/wp-calypso/labels{/name}',\n",
       "      'releases_url': 'https://api.github.com/repos/Automattic/wp-calypso/releases{/id}',\n",
       "      'deployments_url': 'https://api.github.com/repos/Automattic/wp-calypso/deployments',\n",
       "      'created_at': '2015-11-10T20:00:16Z',\n",
       "      'updated_at': '2022-03-10T04:17:13Z',\n",
       "      'pushed_at': '2022-03-10T10:06:03Z',\n",
       "      'git_url': 'git://github.com/Automattic/wp-calypso.git',\n",
       "      'ssh_url': 'git@github.com:Automattic/wp-calypso.git',\n",
       "      'clone_url': 'https://github.com/Automattic/wp-calypso.git',\n",
       "      'svn_url': 'https://github.com/Automattic/wp-calypso',\n",
       "      'homepage': 'https://developer.wordpress.com/calypso/',\n",
       "      'size': 553766,\n",
       "      'stargazers_count': 11992,\n",
       "      'watchers_count': 11992,\n",
       "      'language': 'JavaScript',\n",
       "      'has_issues': True,\n",
       "      'has_projects': True,\n",
       "      'has_downloads': True,\n",
       "      'has_wiki': False,\n",
       "      'has_pages': False,\n",
       "      'forks_count': 1915,\n",
       "      'mirror_url': None,\n",
       "      'archived': False,\n",
       "      'disabled': False,\n",
       "      'open_issues_count': 3875,\n",
       "      'license': {'key': 'gpl-2.0',\n",
       "       'name': 'GNU General Public License v2.0',\n",
       "       'spdx_id': 'GPL-2.0',\n",
       "       'url': 'https://api.github.com/licenses/gpl-2.0',\n",
       "       'node_id': 'MDc6TGljZW5zZTg='},\n",
       "      'allow_forking': True,\n",
       "      'is_template': False,\n",
       "      'topics': ['es2015',\n",
       "       'es6',\n",
       "       'es6-javascript',\n",
       "       'javascript',\n",
       "       'nodejs',\n",
       "       'react',\n",
       "       'redux',\n",
       "       'wordpress'],\n",
       "      'visibility': 'public',\n",
       "      'forks': 1915,\n",
       "      'open_issues': 3875,\n",
       "      'watchers': 11992,\n",
       "      'default_branch': 'trunk'}},\n",
       "    'base': {'label': 'Automattic:trunk',\n",
       "     'ref': 'trunk',\n",
       "     'sha': '9ac5b2557e947b2fa2cdd1aa3bac7f80e3dd9b93',\n",
       "     'user': {'login': 'Automattic',\n",
       "      'id': 887802,\n",
       "      'node_id': 'MDEyOk9yZ2FuaXphdGlvbjg4NzgwMg==',\n",
       "      'avatar_url': 'https://avatars.githubusercontent.com/u/887802?v=4',\n",
       "      'gravatar_id': '',\n",
       "      'url': 'https://api.github.com/users/Automattic',\n",
       "      'html_url': 'https://github.com/Automattic',\n",
       "      'followers_url': 'https://api.github.com/users/Automattic/followers',\n",
       "      'following_url': 'https://api.github.com/users/Automattic/following{/other_user}',\n",
       "      'gists_url': 'https://api.github.com/users/Automattic/gists{/gist_id}',\n",
       "      'starred_url': 'https://api.github.com/users/Automattic/starred{/owner}{/repo}',\n",
       "      'subscriptions_url': 'https://api.github.com/users/Automattic/subscriptions',\n",
       "      'organizations_url': 'https://api.github.com/users/Automattic/orgs',\n",
       "      'repos_url': 'https://api.github.com/users/Automattic/repos',\n",
       "      'events_url': 'https://api.github.com/users/Automattic/events{/privacy}',\n",
       "      'received_events_url': 'https://api.github.com/users/Automattic/received_events',\n",
       "      'type': 'Organization',\n",
       "      'site_admin': False},\n",
       "     'repo': {'id': 45936895,\n",
       "      'node_id': 'MDEwOlJlcG9zaXRvcnk0NTkzNjg5NQ==',\n",
       "      'name': 'wp-calypso',\n",
       "      'full_name': 'Automattic/wp-calypso',\n",
       "      'private': False,\n",
       "      'owner': {'login': 'Automattic',\n",
       "       'id': 887802,\n",
       "       'node_id': 'MDEyOk9yZ2FuaXphdGlvbjg4NzgwMg==',\n",
       "       'avatar_url': 'https://avatars.githubusercontent.com/u/887802?v=4',\n",
       "       'gravatar_id': '',\n",
       "       'url': 'https://api.github.com/users/Automattic',\n",
       "       'html_url': 'https://github.com/Automattic',\n",
       "       'followers_url': 'https://api.github.com/users/Automattic/followers',\n",
       "       'following_url': 'https://api.github.com/users/Automattic/following{/other_user}',\n",
       "       'gists_url': 'https://api.github.com/users/Automattic/gists{/gist_id}',\n",
       "       'starred_url': 'https://api.github.com/users/Automattic/starred{/owner}{/repo}',\n",
       "       'subscriptions_url': 'https://api.github.com/users/Automattic/subscriptions',\n",
       "       'organizations_url': 'https://api.github.com/users/Automattic/orgs',\n",
       "       'repos_url': 'https://api.github.com/users/Automattic/repos',\n",
       "       'events_url': 'https://api.github.com/users/Automattic/events{/privacy}',\n",
       "       'received_events_url': 'https://api.github.com/users/Automattic/received_events',\n",
       "       'type': 'Organization',\n",
       "       'site_admin': False},\n",
       "      'html_url': 'https://github.com/Automattic/wp-calypso',\n",
       "      'description': 'The JavaScript and API powered WordPress.com',\n",
       "      'fork': False,\n",
       "      'url': 'https://api.github.com/repos/Automattic/wp-calypso',\n",
       "      'forks_url': 'https://api.github.com/repos/Automattic/wp-calypso/forks',\n",
       "      'keys_url': 'https://api.github.com/repos/Automattic/wp-calypso/keys{/key_id}',\n",
       "      'collaborators_url': 'https://api.github.com/repos/Automattic/wp-calypso/collaborators{/collaborator}',\n",
       "      'teams_url': 'https://api.github.com/repos/Automattic/wp-calypso/teams',\n",
       "      'hooks_url': 'https://api.github.com/repos/Automattic/wp-calypso/hooks',\n",
       "      'issue_events_url': 'https://api.github.com/repos/Automattic/wp-calypso/issues/events{/number}',\n",
       "      'events_url': 'https://api.github.com/repos/Automattic/wp-calypso/events',\n",
       "      'assignees_url': 'https://api.github.com/repos/Automattic/wp-calypso/assignees{/user}',\n",
       "      'branches_url': 'https://api.github.com/repos/Automattic/wp-calypso/branches{/branch}',\n",
       "      'tags_url': 'https://api.github.com/repos/Automattic/wp-calypso/tags',\n",
       "      'blobs_url': 'https://api.github.com/repos/Automattic/wp-calypso/git/blobs{/sha}',\n",
       "      'git_tags_url': 'https://api.github.com/repos/Automattic/wp-calypso/git/tags{/sha}',\n",
       "      'git_refs_url': 'https://api.github.com/repos/Automattic/wp-calypso/git/refs{/sha}',\n",
       "      'trees_url': 'https://api.github.com/repos/Automattic/wp-calypso/git/trees{/sha}',\n",
       "      'statuses_url': 'https://api.github.com/repos/Automattic/wp-calypso/statuses/{sha}',\n",
       "      'languages_url': 'https://api.github.com/repos/Automattic/wp-calypso/languages',\n",
       "      'stargazers_url': 'https://api.github.com/repos/Automattic/wp-calypso/stargazers',\n",
       "      'contributors_url': 'https://api.github.com/repos/Automattic/wp-calypso/contributors',\n",
       "      'subscribers_url': 'https://api.github.com/repos/Automattic/wp-calypso/subscribers',\n",
       "      'subscription_url': 'https://api.github.com/repos/Automattic/wp-calypso/subscription',\n",
       "      'commits_url': 'https://api.github.com/repos/Automattic/wp-calypso/commits{/sha}',\n",
       "      'git_commits_url': 'https://api.github.com/repos/Automattic/wp-calypso/git/commits{/sha}',\n",
       "      'comments_url': 'https://api.github.com/repos/Automattic/wp-calypso/comments{/number}',\n",
       "      'issue_comment_url': 'https://api.github.com/repos/Automattic/wp-calypso/issues/comments{/number}',\n",
       "      'contents_url': 'https://api.github.com/repos/Automattic/wp-calypso/contents/{+path}',\n",
       "      'compare_url': 'https://api.github.com/repos/Automattic/wp-calypso/compare/{base}...{head}',\n",
       "      'merges_url': 'https://api.github.com/repos/Automattic/wp-calypso/merges',\n",
       "      'archive_url': 'https://api.github.com/repos/Automattic/wp-calypso/{archive_format}{/ref}',\n",
       "      'downloads_url': 'https://api.github.com/repos/Automattic/wp-calypso/downloads',\n",
       "      'issues_url': 'https://api.github.com/repos/Automattic/wp-calypso/issues{/number}',\n",
       "      'pulls_url': 'https://api.github.com/repos/Automattic/wp-calypso/pulls{/number}',\n",
       "      'milestones_url': 'https://api.github.com/repos/Automattic/wp-calypso/milestones{/number}',\n",
       "      'notifications_url': 'https://api.github.com/repos/Automattic/wp-calypso/notifications{?since,all,participating}',\n",
       "      'labels_url': 'https://api.github.com/repos/Automattic/wp-calypso/labels{/name}',\n",
       "      'releases_url': 'https://api.github.com/repos/Automattic/wp-calypso/releases{/id}',\n",
       "      'deployments_url': 'https://api.github.com/repos/Automattic/wp-calypso/deployments',\n",
       "      'created_at': '2015-11-10T20:00:16Z',\n",
       "      'updated_at': '2022-03-10T04:17:13Z',\n",
       "      'pushed_at': '2022-03-10T10:06:03Z',\n",
       "      'git_url': 'git://github.com/Automattic/wp-calypso.git',\n",
       "      'ssh_url': 'git@github.com:Automattic/wp-calypso.git',\n",
       "      'clone_url': 'https://github.com/Automattic/wp-calypso.git',\n",
       "      'svn_url': 'https://github.com/Automattic/wp-calypso',\n",
       "      'homepage': 'https://developer.wordpress.com/calypso/',\n",
       "      'size': 553766,\n",
       "      'stargazers_count': 11992,\n",
       "      'watchers_count': 11992,\n",
       "      'language': 'JavaScript',\n",
       "      'has_issues': True,\n",
       "      'has_projects': True,\n",
       "      'has_downloads': True,\n",
       "      'has_wiki': False,\n",
       "      'has_pages': False,\n",
       "      'forks_count': 1915,\n",
       "      'mirror_url': None,\n",
       "      'archived': False,\n",
       "      'disabled': False,\n",
       "      'open_issues_count': 3875,\n",
       "      'license': {'key': 'gpl-2.0',\n",
       "       'name': 'GNU General Public License v2.0',\n",
       "       'spdx_id': 'GPL-2.0',\n",
       "       'url': 'https://api.github.com/licenses/gpl-2.0',\n",
       "       'node_id': 'MDc6TGljZW5zZTg='},\n",
       "      'allow_forking': True,\n",
       "      'is_template': False,\n",
       "      'topics': ['es2015',\n",
       "       'es6',\n",
       "       'es6-javascript',\n",
       "       'javascript',\n",
       "       'nodejs',\n",
       "       'react',\n",
       "       'redux',\n",
       "       'wordpress'],\n",
       "      'visibility': 'public',\n",
       "      'forks': 1915,\n",
       "      'open_issues': 3875,\n",
       "      'watchers': 11992,\n",
       "      'default_branch': 'trunk'}},\n",
       "    '_links': {'self': {'href': 'https://api.github.com/repos/Automattic/wp-calypso/pulls/61253'},\n",
       "     'html': {'href': 'https://github.com/Automattic/wp-calypso/pull/61253'},\n",
       "     'issue': {'href': 'https://api.github.com/repos/Automattic/wp-calypso/issues/61253'},\n",
       "     'comments': {'href': 'https://api.github.com/repos/Automattic/wp-calypso/issues/61253/comments'},\n",
       "     'review_comments': {'href': 'https://api.github.com/repos/Automattic/wp-calypso/pulls/61253/comments'},\n",
       "     'review_comment': {'href': 'https://api.github.com/repos/Automattic/wp-calypso/pulls/comments{/number}'},\n",
       "     'commits': {'href': 'https://api.github.com/repos/Automattic/wp-calypso/pulls/61253/commits'},\n",
       "     'statuses': {'href': 'https://api.github.com/repos/Automattic/wp-calypso/statuses/354e775351217396af5ad1f322aa67a58a001f18'}},\n",
       "    'author_association': 'CONTRIBUTOR',\n",
       "    'auto_merge': None,\n",
       "    'active_lock_reason': None}},\n",
       "  'public': True,\n",
       "  'created_at': '2022-03-10T10:07:37Z',\n",
       "  'org': {'id': 887802,\n",
       "   'login': 'Automattic',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/orgs/Automattic',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/887802?'}},\n",
       " {'id': '20676880338',\n",
       "  'type': 'CreateEvent',\n",
       "  'actor': {'id': 90409117,\n",
       "   'login': 'PrabathIshanka',\n",
       "   'display_login': 'PrabathIshanka',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/users/PrabathIshanka',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/90409117?'},\n",
       "  'repo': {'id': 468288235,\n",
       "   'name': 'PrabathIshanka/Convert-Report-to-PDf',\n",
       "   'url': 'https://api.github.com/repos/PrabathIshanka/Convert-Report-to-PDf'},\n",
       "  'payload': {'ref': None,\n",
       "   'ref_type': 'repository',\n",
       "   'master_branch': 'main',\n",
       "   'description': 'Using .NET add Crystal Report convert it to PDF and send Email with attach PDF',\n",
       "   'pusher_type': 'user'},\n",
       "  'public': True,\n",
       "  'created_at': '2022-03-10T10:07:37Z'},\n",
       " {'id': '20676880319',\n",
       "  'type': 'PullRequestEvent',\n",
       "  'actor': {'id': 51310067,\n",
       "   'login': 'creatorpiyush',\n",
       "   'display_login': 'creatorpiyush',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/users/creatorpiyush',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/51310067?'},\n",
       "  'repo': {'id': 271875131,\n",
       "   'name': 'creatorpiyush/fictional-carnival',\n",
       "   'url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival'},\n",
       "  'payload': {'action': 'closed',\n",
       "   'number': 52,\n",
       "   'pull_request': {'url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/pulls/52',\n",
       "    'id': 833473331,\n",
       "    'node_id': 'PR_kwDOEDR8O84xrcsz',\n",
       "    'html_url': 'https://github.com/creatorpiyush/fictional-carnival/pull/52',\n",
       "    'diff_url': 'https://github.com/creatorpiyush/fictional-carnival/pull/52.diff',\n",
       "    'patch_url': 'https://github.com/creatorpiyush/fictional-carnival/pull/52.patch',\n",
       "    'issue_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/issues/52',\n",
       "    'number': 52,\n",
       "    'state': 'closed',\n",
       "    'locked': False,\n",
       "    'title': '[Snyk] Upgrade express from 4.17.1 to 4.17.2',\n",
       "    'user': {'login': 'snyk-bot',\n",
       "     'id': 19733683,\n",
       "     'node_id': 'MDQ6VXNlcjE5NzMzNjgz',\n",
       "     'avatar_url': 'https://avatars.githubusercontent.com/u/19733683?v=4',\n",
       "     'gravatar_id': '',\n",
       "     'url': 'https://api.github.com/users/snyk-bot',\n",
       "     'html_url': 'https://github.com/snyk-bot',\n",
       "     'followers_url': 'https://api.github.com/users/snyk-bot/followers',\n",
       "     'following_url': 'https://api.github.com/users/snyk-bot/following{/other_user}',\n",
       "     'gists_url': 'https://api.github.com/users/snyk-bot/gists{/gist_id}',\n",
       "     'starred_url': 'https://api.github.com/users/snyk-bot/starred{/owner}{/repo}',\n",
       "     'subscriptions_url': 'https://api.github.com/users/snyk-bot/subscriptions',\n",
       "     'organizations_url': 'https://api.github.com/users/snyk-bot/orgs',\n",
       "     'repos_url': 'https://api.github.com/users/snyk-bot/repos',\n",
       "     'events_url': 'https://api.github.com/users/snyk-bot/events{/privacy}',\n",
       "     'received_events_url': 'https://api.github.com/users/snyk-bot/received_events',\n",
       "     'type': 'User',\n",
       "     'site_admin': False},\n",
       "    'body': '<h3>Snyk has created this PR to upgrade express from 4.17.1 to 4.17.2.</h3>\\n\\n![merge advice](https://app.snyk.io/badges/merge-advice/?package_manager=npm&package_name=express&from_version=4.17.1&to_version=4.17.2&pr_id=80e5ea42-6444-4023-855e-2688926c09a6&visibility=true&has_feature_flag=false)\\n:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.\\n<hr/>\\n\\n- The recommended version is **1 version** ahead of your current version.\\n- The recommended version was released **a month ago**, on 2021-12-17.\\n\\n\\n<details>\\n<summary><b>Release notes</b></summary>\\n<br/>\\n  <details>\\n    <summary>Package name: <b>express</b></summary>\\n    <ul>\\n      <li>\\n        <b>4.17.2</b> - <a href=\"https://snyk.io/redirect/github/expressjs/express/releases/tag/4.17.2\">2021-12-17</a></br><ul>\\n<li>Fix handling of <code>undefined</code> in <code>res.jsonp</code></li>\\n<li>Fix handling of <code>undefined</code> when <code>\"json escape\"</code> is enabled</li>\\n<li>Fix incorrect middleware execution with unanchored <code>RegExp</code>s</li>\\n<li>Fix <code>res.jsonp(obj, status)</code> deprecation message</li>\\n<li>Fix typo in <code>res.is</code> JSDoc</li>\\n<li>deps: body-parser@1.19.1\\n<ul>\\n<li>deps: bytes@3.1.1</li>\\n<li>deps: http-errors@1.8.1</li>\\n<li>deps: qs@6.9.6</li>\\n<li>deps: raw-body@2.4.2</li>\\n<li>deps: safe-buffer@5.2.1</li>\\n<li>deps: type-is@~1.6.18</li>\\n</ul>\\n</li>\\n<li>deps: content-disposition@0.5.4\\n<ul>\\n<li>deps: safe-buffer@5.2.1</li>\\n</ul>\\n</li>\\n<li>deps: cookie@0.4.1\\n<ul>\\n<li>Fix <code>maxAge</code> option to reject invalid values</li>\\n</ul>\\n</li>\\n<li>deps: proxy-addr@~2.0.7\\n<ul>\\n<li>Use <code>req.socket</code> over deprecated <code>req.connection</code></li>\\n<li>deps: forwarded@0.2.0</li>\\n<li>deps: ipaddr.js@1.9.1</li>\\n</ul>\\n</li>\\n<li>deps: qs@6.9.6</li>\\n<li>deps: safe-buffer@5.2.1</li>\\n<li>deps: send@0.17.2\\n<ul>\\n<li>deps: http-errors@1.8.1</li>\\n<li>deps: ms@2.1.3</li>\\n<li>pref: ignore empty http tokens</li>\\n</ul>\\n</li>\\n<li>deps: serve-static@1.14.2\\n<ul>\\n<li>deps: send@0.17.2</li>\\n</ul>\\n</li>\\n<li>deps: setprototypeof@1.2.0</li>\\n</ul>\\n      </li>\\n      <li>\\n        <b>4.17.1</b> - <a href=\"https://snyk.io/redirect/github/expressjs/express/releases/tag/4.17.1\">2019-05-26</a></br><ul>\\n<li>Revert \"Improve error message for <code>null</code>/<code>undefined</code> to <code>res.status</code>\"</li>\\n</ul>\\n      </li>\\n    </ul>\\n    from <a href=\"https://snyk.io/redirect/github/expressjs/express/releases\">express GitHub release notes</a>\\n  </details>\\n</details>\\n\\n\\n<details>\\n  <summary><b>Commit messages</b></summary>\\n  </br>\\n  <details>\\n    <summary>Package name: <b>express</b></summary>\\n    <ul>\\n      <li><a href=\"https://snyk.io/redirect/github/expressjs/express/commit/ea537d907d61dc693587fd41aab024e9df2e14b1\">ea537d9</a> 4.17.2</li>\\n      <li><a href=\"https://snyk.io/redirect/github/expressjs/express/commit/eee93a2760de89e8103737c2d097f20464a3c3f0\">eee93a2</a> build: update example dependencies</li>\\n      <li><a href=\"https://snyk.io/redirect/github/expressjs/express/commit/b35773cf19127e3392f5f908b3a4bea1410fd30a\">b35773c</a> build: eslint@7.32.0</li>\\n      <li><a href=\"https://snyk.io/redirect/github/expressjs/express/commit/c8a42006b84d56bc5d1dd7e1e9a6ad00c1a1d389\">c8a4200</a> build: mocha@9.1.3</li>\\n      <li><a href=\"https://snyk.io/redirect/github/expressjs/express/commit/21cf522dcd94ac2af6898ca81df02b373362bf24\">21cf522</a> examples: improve 404 message wording</li>\\n      <li><a href=\"https://snyk.io/redirect/github/expressjs/express/commit/a24f27aba7e61ed5a22ba37ab4260fba1b2151f5\">a24f27a</a> deps: serve-static@1.14.2</li>\\n      <li><a href=\"https://snyk.io/redirect/github/expressjs/express/commit/a33266a206f3d259007a43a6b0235978ec98e8ad\">a33266a</a> build: support Node.js 14.x</li>\\n      <li><a href=\"https://snyk.io/redirect/github/expressjs/express/commit/6fe271e8aadfe3e67bd5b01714cc0f18bc27914d\">6fe271e</a> build: support Node.js 13.x</li>\\n      <li><a href=\"https://snyk.io/redirect/github/expressjs/express/commit/cbe25d66b3ad397c52c6a66b77f18b483f8ed47e\">cbe25d6</a> deps: setprototypeof@1.2.0</li>\\n      <li><a href=\"https://snyk.io/redirect/github/expressjs/express/commit/3bb6d96ba9f386d8b328605ba762656cc759104b\">3bb6d96</a> examples: demonstrate sub directory download</li>\\n      <li><a href=\"https://snyk.io/redirect/github/expressjs/express/commit/6660649f1bdc5125915b48f9eac3f9c8a23f1f84\">6660649</a> deps: qs@6.9.6</li>\\n      <li><a href=\"https://snyk.io/redirect/github/expressjs/express/commit/a75e4707b96e7c2e3031c55e06f53ec09cc05e7d\">a75e470</a> docs: add note about security report location</li>\\n      <li><a href=\"https://snyk.io/redirect/github/expressjs/express/commit/db05a741f0fbb28427c069c73f3c17d504c1812a\">db05a74</a> deps: send@0.17.2</li>\\n      <li><a href=\"https://snyk.io/redirect/github/expressjs/express/commit/c2e23ece2e03a70fdb1005195dc239fb4e48bf22\">c2e23ec</a> deps: body-parser@1.19.1</li>\\n      <li><a href=\"https://snyk.io/redirect/github/expressjs/express/commit/96850e872a7f0b88ae44fb7b09ebb3bee8257816\">96850e8</a> deps: content-disposition@0.5.4</li>\\n      <li><a href=\"https://snyk.io/redirect/github/expressjs/express/commit/b8d59d5c9855238950dd799f7799ea3283787e9f\">b8d59d5</a> deps: safe-buffer@5.2.1</li>\\n      <li><a href=\"https://snyk.io/redirect/github/expressjs/express/commit/59d695c447f6b7540f9c75afa5693e5fe436bba1\">59d695c</a> build: update example dependencies</li>\\n      <li><a href=\"https://snyk.io/redirect/github/expressjs/express/commit/e242796eb343c1e1e17c963dfb09d751a85b3c68\">e242796</a> tests: fix test in app.head</li>\\n      <li><a href=\"https://snyk.io/redirect/github/expressjs/express/commit/aaa9690bcfca426efde7092ff72fa15cb9bf86a9\">aaa9690</a> deps: proxy-addr@~2.0.7</li>\\n      <li><a href=\"https://snyk.io/redirect/github/expressjs/express/commit/f275e87dff1aaef86080e6931888de4968585fd8\">f275e87</a> Fix handling of undefined when &quot;json escape&quot; is enabled</li>\\n      <li><a href=\"https://snyk.io/redirect/github/expressjs/express/commit/9dd0e7afdb6d022e18add1e009c4e3a66258c1fa\">9dd0e7a</a> Fix handling of undefined in res.jsonp</li>\\n      <li><a href=\"https://snyk.io/redirect/github/expressjs/express/commit/1b2f3a06982cf4d51482dd79447b66315687b287\">1b2f3a0</a> tests: fix up primitive tests for res.jsonp</li>\\n      <li><a href=\"https://snyk.io/redirect/github/expressjs/express/commit/519126d732c65e68fbdc7575f601ee5b6e9972d8\">519126d</a> deps: cookie@0.4.1</li>\\n      <li><a href=\"https://snyk.io/redirect/github/expressjs/express/commit/99a369f3d51bafcf0c09657250067249f19d04f5\">99a369f</a> Fix incorrect middleware execution with unanchored RegExps</li>\\n    </ul>\\n\\n   <a href=\"https://snyk.io/redirect/github/expressjs/express/compare/e1b45ebd050b6f06aa38cda5aaf0c21708b0c71e...ea537d907d61dc693587fd41aab024e9df2e14b1\">Compare</a>\\n  </details>\\n</details>\\n<hr/>\\n\\n**Note:** *You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.*\\n\\nFor more information:  <img src=\"https://api.segment.io/v1/pixel/track?data=eyJ3cml0ZUtleSI6InJyWmxZcEdHY2RyTHZsb0lYd0dUcVg4WkFRTnNCOUEwIiwiYW5vbnltb3VzSWQiOiI4MGU1ZWE0Mi02NDQ0LTQwMjMtODU1ZS0yNjg4OTI2YzA5YTYiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6IjgwZTVlYTQyLTY0NDQtNDAyMy04NTVlLTI2ODg5MjZjMDlhNiJ9fQ==\" width=\"0\" height=\"0\"/>\\n\\n🧐 [View latest project report](https://app.snyk.io/org/creatorpiyush/project/1a29871f-5efe-4fef-9e2c-4899d9735940?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)\\n\\n🛠 [Adjust upgrade PR settings](https://app.snyk.io/org/creatorpiyush/project/1a29871f-5efe-4fef-9e2c-4899d9735940/settings/integration?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)\\n\\n🔕 [Ignore this dependency or unsubscribe from future upgrade PRs](https://app.snyk.io/org/creatorpiyush/project/1a29871f-5efe-4fef-9e2c-4899d9735940/settings/integration?pkg&#x3D;express&amp;utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr#auto-dep-upgrades)\\n\\n<!--- (snyk:metadata:{\"prId\":\"80e5ea42-6444-4023-855e-2688926c09a6\",\"prPublicId\":\"80e5ea42-6444-4023-855e-2688926c09a6\",\"dependencies\":[{\"name\":\"express\",\"from\":\"4.17.1\",\"to\":\"4.17.2\"}],\"packageManager\":\"npm\",\"type\":\"auto\",\"projectUrl\":\"https://app.snyk.io/org/creatorpiyush/project/1a29871f-5efe-4fef-9e2c-4899d9735940?utm_source=github&utm_medium=referral&page=upgrade-pr\",\"projectPublicId\":\"1a29871f-5efe-4fef-9e2c-4899d9735940\",\"env\":\"prod\",\"prType\":\"upgrade\",\"vulns\":[],\"issuesToFix\":[],\"upgrade\":[],\"upgradeInfo\":{\"versionsDiff\":1,\"publishedDate\":\"2021-12-17T03:48:56.946Z\"},\"templateVariants\":[\"merge-advice-badge-shown\"],\"hasFixes\":false,\"isMajorUpgrade\":false,\"isBreakingChange\":false,\"priorityScoreList\":[]}) --->\\n',\n",
       "    'created_at': '2022-01-27T14:21:19Z',\n",
       "    'updated_at': '2022-03-10T10:07:37Z',\n",
       "    'closed_at': '2022-03-10T10:07:37Z',\n",
       "    'merged_at': None,\n",
       "    'merge_commit_sha': '58cdf27c57f07dcb824abb6038388610196e5e94',\n",
       "    'assignee': None,\n",
       "    'assignees': [],\n",
       "    'requested_reviewers': [],\n",
       "    'requested_teams': [],\n",
       "    'labels': [],\n",
       "    'milestone': None,\n",
       "    'draft': False,\n",
       "    'commits_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/pulls/52/commits',\n",
       "    'review_comments_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/pulls/52/comments',\n",
       "    'review_comment_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/pulls/comments{/number}',\n",
       "    'comments_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/issues/52/comments',\n",
       "    'statuses_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/statuses/edbc94c5037c3c453585d3c384c3d22a52871f28',\n",
       "    'head': {'label': 'creatorpiyush:snyk-upgrade-e090ae146f26d125755c6b10a24c57d3',\n",
       "     'ref': 'snyk-upgrade-e090ae146f26d125755c6b10a24c57d3',\n",
       "     'sha': 'edbc94c5037c3c453585d3c384c3d22a52871f28',\n",
       "     'user': {'login': 'creatorpiyush',\n",
       "      'id': 51310067,\n",
       "      'node_id': 'MDQ6VXNlcjUxMzEwMDY3',\n",
       "      'avatar_url': 'https://avatars.githubusercontent.com/u/51310067?v=4',\n",
       "      'gravatar_id': '',\n",
       "      'url': 'https://api.github.com/users/creatorpiyush',\n",
       "      'html_url': 'https://github.com/creatorpiyush',\n",
       "      'followers_url': 'https://api.github.com/users/creatorpiyush/followers',\n",
       "      'following_url': 'https://api.github.com/users/creatorpiyush/following{/other_user}',\n",
       "      'gists_url': 'https://api.github.com/users/creatorpiyush/gists{/gist_id}',\n",
       "      'starred_url': 'https://api.github.com/users/creatorpiyush/starred{/owner}{/repo}',\n",
       "      'subscriptions_url': 'https://api.github.com/users/creatorpiyush/subscriptions',\n",
       "      'organizations_url': 'https://api.github.com/users/creatorpiyush/orgs',\n",
       "      'repos_url': 'https://api.github.com/users/creatorpiyush/repos',\n",
       "      'events_url': 'https://api.github.com/users/creatorpiyush/events{/privacy}',\n",
       "      'received_events_url': 'https://api.github.com/users/creatorpiyush/received_events',\n",
       "      'type': 'User',\n",
       "      'site_admin': False},\n",
       "     'repo': {'id': 271875131,\n",
       "      'node_id': 'MDEwOlJlcG9zaXRvcnkyNzE4NzUxMzE=',\n",
       "      'name': 'fictional-carnival',\n",
       "      'full_name': 'creatorpiyush/fictional-carnival',\n",
       "      'private': False,\n",
       "      'owner': {'login': 'creatorpiyush',\n",
       "       'id': 51310067,\n",
       "       'node_id': 'MDQ6VXNlcjUxMzEwMDY3',\n",
       "       'avatar_url': 'https://avatars.githubusercontent.com/u/51310067?v=4',\n",
       "       'gravatar_id': '',\n",
       "       'url': 'https://api.github.com/users/creatorpiyush',\n",
       "       'html_url': 'https://github.com/creatorpiyush',\n",
       "       'followers_url': 'https://api.github.com/users/creatorpiyush/followers',\n",
       "       'following_url': 'https://api.github.com/users/creatorpiyush/following{/other_user}',\n",
       "       'gists_url': 'https://api.github.com/users/creatorpiyush/gists{/gist_id}',\n",
       "       'starred_url': 'https://api.github.com/users/creatorpiyush/starred{/owner}{/repo}',\n",
       "       'subscriptions_url': 'https://api.github.com/users/creatorpiyush/subscriptions',\n",
       "       'organizations_url': 'https://api.github.com/users/creatorpiyush/orgs',\n",
       "       'repos_url': 'https://api.github.com/users/creatorpiyush/repos',\n",
       "       'events_url': 'https://api.github.com/users/creatorpiyush/events{/privacy}',\n",
       "       'received_events_url': 'https://api.github.com/users/creatorpiyush/received_events',\n",
       "       'type': 'User',\n",
       "       'site_admin': False},\n",
       "      'html_url': 'https://github.com/creatorpiyush/fictional-carnival',\n",
       "      'description': None,\n",
       "      'fork': False,\n",
       "      'url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival',\n",
       "      'forks_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/forks',\n",
       "      'keys_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/keys{/key_id}',\n",
       "      'collaborators_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/collaborators{/collaborator}',\n",
       "      'teams_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/teams',\n",
       "      'hooks_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/hooks',\n",
       "      'issue_events_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/issues/events{/number}',\n",
       "      'events_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/events',\n",
       "      'assignees_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/assignees{/user}',\n",
       "      'branches_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/branches{/branch}',\n",
       "      'tags_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/tags',\n",
       "      'blobs_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/git/blobs{/sha}',\n",
       "      'git_tags_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/git/tags{/sha}',\n",
       "      'git_refs_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/git/refs{/sha}',\n",
       "      'trees_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/git/trees{/sha}',\n",
       "      'statuses_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/statuses/{sha}',\n",
       "      'languages_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/languages',\n",
       "      'stargazers_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/stargazers',\n",
       "      'contributors_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/contributors',\n",
       "      'subscribers_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/subscribers',\n",
       "      'subscription_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/subscription',\n",
       "      'commits_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/commits{/sha}',\n",
       "      'git_commits_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/git/commits{/sha}',\n",
       "      'comments_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/comments{/number}',\n",
       "      'issue_comment_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/issues/comments{/number}',\n",
       "      'contents_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/contents/{+path}',\n",
       "      'compare_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/compare/{base}...{head}',\n",
       "      'merges_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/merges',\n",
       "      'archive_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/{archive_format}{/ref}',\n",
       "      'downloads_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/downloads',\n",
       "      'issues_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/issues{/number}',\n",
       "      'pulls_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/pulls{/number}',\n",
       "      'milestones_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/milestones{/number}',\n",
       "      'notifications_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/notifications{?since,all,participating}',\n",
       "      'labels_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/labels{/name}',\n",
       "      'releases_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/releases{/id}',\n",
       "      'deployments_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/deployments',\n",
       "      'created_at': '2020-06-12T19:28:45Z',\n",
       "      'updated_at': '2021-06-09T14:32:15Z',\n",
       "      'pushed_at': '2022-02-13T16:33:30Z',\n",
       "      'git_url': 'git://github.com/creatorpiyush/fictional-carnival.git',\n",
       "      'ssh_url': 'git@github.com:creatorpiyush/fictional-carnival.git',\n",
       "      'clone_url': 'https://github.com/creatorpiyush/fictional-carnival.git',\n",
       "      'svn_url': 'https://github.com/creatorpiyush/fictional-carnival',\n",
       "      'homepage': None,\n",
       "      'size': 5243,\n",
       "      'stargazers_count': 1,\n",
       "      'watchers_count': 1,\n",
       "      'language': 'JavaScript',\n",
       "      'has_issues': True,\n",
       "      'has_projects': True,\n",
       "      'has_downloads': True,\n",
       "      'has_wiki': True,\n",
       "      'has_pages': False,\n",
       "      'forks_count': 0,\n",
       "      'mirror_url': None,\n",
       "      'archived': False,\n",
       "      'disabled': False,\n",
       "      'open_issues_count': 44,\n",
       "      'license': None,\n",
       "      'allow_forking': True,\n",
       "      'is_template': False,\n",
       "      'topics': [],\n",
       "      'visibility': 'public',\n",
       "      'forks': 0,\n",
       "      'open_issues': 44,\n",
       "      'watchers': 1,\n",
       "      'default_branch': 'master'}},\n",
       "    'base': {'label': 'creatorpiyush:master',\n",
       "     'ref': 'master',\n",
       "     'sha': 'f5107e8d828323eb0fd1ae2626ce1f6d785ef368',\n",
       "     'user': {'login': 'creatorpiyush',\n",
       "      'id': 51310067,\n",
       "      'node_id': 'MDQ6VXNlcjUxMzEwMDY3',\n",
       "      'avatar_url': 'https://avatars.githubusercontent.com/u/51310067?v=4',\n",
       "      'gravatar_id': '',\n",
       "      'url': 'https://api.github.com/users/creatorpiyush',\n",
       "      'html_url': 'https://github.com/creatorpiyush',\n",
       "      'followers_url': 'https://api.github.com/users/creatorpiyush/followers',\n",
       "      'following_url': 'https://api.github.com/users/creatorpiyush/following{/other_user}',\n",
       "      'gists_url': 'https://api.github.com/users/creatorpiyush/gists{/gist_id}',\n",
       "      'starred_url': 'https://api.github.com/users/creatorpiyush/starred{/owner}{/repo}',\n",
       "      'subscriptions_url': 'https://api.github.com/users/creatorpiyush/subscriptions',\n",
       "      'organizations_url': 'https://api.github.com/users/creatorpiyush/orgs',\n",
       "      'repos_url': 'https://api.github.com/users/creatorpiyush/repos',\n",
       "      'events_url': 'https://api.github.com/users/creatorpiyush/events{/privacy}',\n",
       "      'received_events_url': 'https://api.github.com/users/creatorpiyush/received_events',\n",
       "      'type': 'User',\n",
       "      'site_admin': False},\n",
       "     'repo': {'id': 271875131,\n",
       "      'node_id': 'MDEwOlJlcG9zaXRvcnkyNzE4NzUxMzE=',\n",
       "      'name': 'fictional-carnival',\n",
       "      'full_name': 'creatorpiyush/fictional-carnival',\n",
       "      'private': False,\n",
       "      'owner': {'login': 'creatorpiyush',\n",
       "       'id': 51310067,\n",
       "       'node_id': 'MDQ6VXNlcjUxMzEwMDY3',\n",
       "       'avatar_url': 'https://avatars.githubusercontent.com/u/51310067?v=4',\n",
       "       'gravatar_id': '',\n",
       "       'url': 'https://api.github.com/users/creatorpiyush',\n",
       "       'html_url': 'https://github.com/creatorpiyush',\n",
       "       'followers_url': 'https://api.github.com/users/creatorpiyush/followers',\n",
       "       'following_url': 'https://api.github.com/users/creatorpiyush/following{/other_user}',\n",
       "       'gists_url': 'https://api.github.com/users/creatorpiyush/gists{/gist_id}',\n",
       "       'starred_url': 'https://api.github.com/users/creatorpiyush/starred{/owner}{/repo}',\n",
       "       'subscriptions_url': 'https://api.github.com/users/creatorpiyush/subscriptions',\n",
       "       'organizations_url': 'https://api.github.com/users/creatorpiyush/orgs',\n",
       "       'repos_url': 'https://api.github.com/users/creatorpiyush/repos',\n",
       "       'events_url': 'https://api.github.com/users/creatorpiyush/events{/privacy}',\n",
       "       'received_events_url': 'https://api.github.com/users/creatorpiyush/received_events',\n",
       "       'type': 'User',\n",
       "       'site_admin': False},\n",
       "      'html_url': 'https://github.com/creatorpiyush/fictional-carnival',\n",
       "      'description': None,\n",
       "      'fork': False,\n",
       "      'url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival',\n",
       "      'forks_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/forks',\n",
       "      'keys_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/keys{/key_id}',\n",
       "      'collaborators_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/collaborators{/collaborator}',\n",
       "      'teams_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/teams',\n",
       "      'hooks_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/hooks',\n",
       "      'issue_events_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/issues/events{/number}',\n",
       "      'events_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/events',\n",
       "      'assignees_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/assignees{/user}',\n",
       "      'branches_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/branches{/branch}',\n",
       "      'tags_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/tags',\n",
       "      'blobs_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/git/blobs{/sha}',\n",
       "      'git_tags_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/git/tags{/sha}',\n",
       "      'git_refs_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/git/refs{/sha}',\n",
       "      'trees_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/git/trees{/sha}',\n",
       "      'statuses_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/statuses/{sha}',\n",
       "      'languages_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/languages',\n",
       "      'stargazers_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/stargazers',\n",
       "      'contributors_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/contributors',\n",
       "      'subscribers_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/subscribers',\n",
       "      'subscription_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/subscription',\n",
       "      'commits_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/commits{/sha}',\n",
       "      'git_commits_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/git/commits{/sha}',\n",
       "      'comments_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/comments{/number}',\n",
       "      'issue_comment_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/issues/comments{/number}',\n",
       "      'contents_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/contents/{+path}',\n",
       "      'compare_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/compare/{base}...{head}',\n",
       "      'merges_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/merges',\n",
       "      'archive_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/{archive_format}{/ref}',\n",
       "      'downloads_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/downloads',\n",
       "      'issues_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/issues{/number}',\n",
       "      'pulls_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/pulls{/number}',\n",
       "      'milestones_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/milestones{/number}',\n",
       "      'notifications_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/notifications{?since,all,participating}',\n",
       "      'labels_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/labels{/name}',\n",
       "      'releases_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/releases{/id}',\n",
       "      'deployments_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/deployments',\n",
       "      'created_at': '2020-06-12T19:28:45Z',\n",
       "      'updated_at': '2021-06-09T14:32:15Z',\n",
       "      'pushed_at': '2022-02-13T16:33:30Z',\n",
       "      'git_url': 'git://github.com/creatorpiyush/fictional-carnival.git',\n",
       "      'ssh_url': 'git@github.com:creatorpiyush/fictional-carnival.git',\n",
       "      'clone_url': 'https://github.com/creatorpiyush/fictional-carnival.git',\n",
       "      'svn_url': 'https://github.com/creatorpiyush/fictional-carnival',\n",
       "      'homepage': None,\n",
       "      'size': 5243,\n",
       "      'stargazers_count': 1,\n",
       "      'watchers_count': 1,\n",
       "      'language': 'JavaScript',\n",
       "      'has_issues': True,\n",
       "      'has_projects': True,\n",
       "      'has_downloads': True,\n",
       "      'has_wiki': True,\n",
       "      'has_pages': False,\n",
       "      'forks_count': 0,\n",
       "      'mirror_url': None,\n",
       "      'archived': False,\n",
       "      'disabled': False,\n",
       "      'open_issues_count': 44,\n",
       "      'license': None,\n",
       "      'allow_forking': True,\n",
       "      'is_template': False,\n",
       "      'topics': [],\n",
       "      'visibility': 'public',\n",
       "      'forks': 0,\n",
       "      'open_issues': 44,\n",
       "      'watchers': 1,\n",
       "      'default_branch': 'master'}},\n",
       "    '_links': {'self': {'href': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/pulls/52'},\n",
       "     'html': {'href': 'https://github.com/creatorpiyush/fictional-carnival/pull/52'},\n",
       "     'issue': {'href': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/issues/52'},\n",
       "     'comments': {'href': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/issues/52/comments'},\n",
       "     'review_comments': {'href': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/pulls/52/comments'},\n",
       "     'review_comment': {'href': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/pulls/comments{/number}'},\n",
       "     'commits': {'href': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/pulls/52/commits'},\n",
       "     'statuses': {'href': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/statuses/edbc94c5037c3c453585d3c384c3d22a52871f28'}},\n",
       "    'author_association': 'NONE',\n",
       "    'auto_merge': None,\n",
       "    'active_lock_reason': None,\n",
       "    'merged': False,\n",
       "    'mergeable': True,\n",
       "    'rebaseable': True,\n",
       "    'mergeable_state': 'clean',\n",
       "    'merged_by': None,\n",
       "    'comments': 0,\n",
       "    'review_comments': 0,\n",
       "    'maintainer_can_modify': False,\n",
       "    'commits': 1,\n",
       "    'additions': 136,\n",
       "    'deletions': 42,\n",
       "    'changed_files': 2}},\n",
       "  'public': True,\n",
       "  'created_at': '2022-03-10T10:07:37Z'},\n",
       " {'id': '20676880326',\n",
       "  'type': 'PushEvent',\n",
       "  'actor': {'id': 64357205,\n",
       "   'login': 'dead-hostsbot',\n",
       "   'display_login': 'dead-hostsbot',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/users/dead-hostsbot',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/64357205?'},\n",
       "  'repo': {'id': 271814306,\n",
       "   'name': 'dead-hosts/polish-mikrotik-filters_git_MajkiIT',\n",
       "   'url': 'https://api.github.com/repos/dead-hosts/polish-mikrotik-filters_git_MajkiIT'},\n",
       "  'payload': {'push_id': 9314622225,\n",
       "   'size': 1,\n",
       "   'distinct_size': 1,\n",
       "   'ref': 'refs/heads/master',\n",
       "   'head': '0030fb054b6b4d875ab8a3ac86769627064ff5ba',\n",
       "   'before': '31fa4788345ad0c4aed6538bf28d19f16d70f700',\n",
       "   'commits': [{'sha': '0030fb054b6b4d875ab8a3ac86769627064ff5ba',\n",
       "     'author': {'email': 'dead-hosts@outlook.com', 'name': 'dead-hostsbot'},\n",
       "     'message': '[Autosave][Dead-Hosts::polish-mikrotik-filters_git_MajkiIT]\\n\\nvyjTAmB86hLs4YiwIoxLF7oE',\n",
       "     'distinct': True,\n",
       "     'url': 'https://api.github.com/repos/dead-hosts/polish-mikrotik-filters_git_MajkiIT/commits/0030fb054b6b4d875ab8a3ac86769627064ff5ba'}]},\n",
       "  'public': True,\n",
       "  'created_at': '2022-03-10T10:07:37Z',\n",
       "  'org': {'id': 35098159,\n",
       "   'login': 'dead-hosts',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/orgs/dead-hosts',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/35098159?'}},\n",
       " {'id': '20676880290',\n",
       "  'type': 'CreateEvent',\n",
       "  'actor': {'id': 100508924,\n",
       "   'login': 'MU88MU88App',\n",
       "   'display_login': 'MU88MU88App',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/users/MU88MU88App',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/100508924?'},\n",
       "  'repo': {'id': 468288232,\n",
       "   'name': 'MU88MU88App/MU88MU88App',\n",
       "   'url': 'https://api.github.com/repos/MU88MU88App/MU88MU88App'},\n",
       "  'payload': {'ref': None,\n",
       "   'ref_type': 'repository',\n",
       "   'master_branch': 'main',\n",
       "   'description': 'Config files for my GitHub profile.',\n",
       "   'pusher_type': 'user'},\n",
       "  'public': True,\n",
       "  'created_at': '2022-03-10T10:07:37Z'},\n",
       " {'id': '20676880008',\n",
       "  'type': 'CreateEvent',\n",
       "  'actor': {'id': 41898282,\n",
       "   'login': 'github-actions[bot]',\n",
       "   'display_login': 'github-actions',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/users/github-actions[bot]',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/41898282?'},\n",
       "  'repo': {'id': 212860357,\n",
       "   'name': 'baloise/design-system',\n",
       "   'url': 'https://api.github.com/repos/baloise/design-system'},\n",
       "  'payload': {'ref': 'v10.5.1',\n",
       "   'ref_type': 'tag',\n",
       "   'master_branch': 'master',\n",
       "   'description': 'The Baloise Design System consists of reusable components and a clearly defined visual style, that can be assembled together to build any number of applications.',\n",
       "   'pusher_type': 'user'},\n",
       "  'public': True,\n",
       "  'created_at': '2022-03-10T10:07:36Z',\n",
       "  'org': {'id': 4548858,\n",
       "   'login': 'baloise',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/orgs/baloise',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/4548858?'}},\n",
       " {'id': '20676879995',\n",
       "  'type': 'CreateEvent',\n",
       "  'actor': {'id': 91138975,\n",
       "   'login': 'appsmithgitsynctest',\n",
       "   'display_login': 'appsmithgitsynctest',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/users/appsmithgitsynctest',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/91138975?'},\n",
       "  'repo': {'id': 468288146,\n",
       "   'name': 'appsmithgitsynctest/e4f73714',\n",
       "   'url': 'https://api.github.com/repos/appsmithgitsynctest/e4f73714'},\n",
       "  'payload': {'ref': 'master',\n",
       "   'ref_type': 'branch',\n",
       "   'master_branch': 'master',\n",
       "   'description': None,\n",
       "   'pusher_type': 'user'},\n",
       "  'public': True,\n",
       "  'created_at': '2022-03-10T10:07:36Z'},\n",
       " {'id': '20676879965',\n",
       "  'type': 'PushEvent',\n",
       "  'actor': {'id': 43733305,\n",
       "   'login': 'yanonono',\n",
       "   'display_login': 'yanonono',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/users/yanonono',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/43733305?'},\n",
       "  'repo': {'id': 183440182,\n",
       "   'name': 'yanonono/booth-update',\n",
       "   'url': 'https://api.github.com/repos/yanonono/booth-update'},\n",
       "  'payload': {'push_id': 9314622052,\n",
       "   'size': 1,\n",
       "   'distinct_size': 1,\n",
       "   'ref': 'refs/heads/master',\n",
       "   'head': '97ec45cb73c8d06dfda55d65d3108cade22c4b80',\n",
       "   'before': 'c8b421e215ac4683e3edec5dbd15eaf525279cb7',\n",
       "   'commits': [{'sha': '97ec45cb73c8d06dfda55d65d3108cade22c4b80',\n",
       "     'author': {'email': 'yano.nono.0701+booth-github@gmail.com',\n",
       "      'name': 'yano.nono'},\n",
       "     'message': 'updated at: 2022-03-10 19:07, 【VRChat想定】SF系大剣3Dモデル「アズルスラスト」 - Wolf&#39;s Warehouse - BOOTH',\n",
       "     'distinct': True,\n",
       "     'url': 'https://api.github.com/repos/yanonono/booth-update/commits/97ec45cb73c8d06dfda55d65d3108cade22c4b80'}]},\n",
       "  'public': True,\n",
       "  'created_at': '2022-03-10T10:07:36Z'},\n",
       " {'id': '20676880281',\n",
       "  'type': 'PushEvent',\n",
       "  'actor': {'id': 1319432,\n",
       "   'login': 'Benrajalu',\n",
       "   'display_login': 'Benrajalu',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/users/Benrajalu',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/1319432?'},\n",
       "  'repo': {'id': 79343946,\n",
       "   'name': 'Talend/ui',\n",
       "   'url': 'https://api.github.com/repos/Talend/ui'},\n",
       "  'payload': {'push_id': 9314622190,\n",
       "   'size': 1,\n",
       "   'distinct_size': 1,\n",
       "   'ref': 'refs/heads/brajalu/feat/design-system/TUX-1145-Breadcrumbs',\n",
       "   'head': 'e9e5ef5d7b5562d5176523deabdea6348ba83f98',\n",
       "   'before': '9642fe7eb83e33e77ed53740491478f65a6745bf',\n",
       "   'commits': [{'sha': 'e9e5ef5d7b5562d5176523deabdea6348ba83f98',\n",
       "     'author': {'email': 'rajalubenoit@gmail.com', 'name': 'Benrajalu'},\n",
       "     'message': 'feat(Breadcrumbs): Initial doc structure',\n",
       "     'distinct': True,\n",
       "     'url': 'https://api.github.com/repos/Talend/ui/commits/e9e5ef5d7b5562d5176523deabdea6348ba83f98'}]},\n",
       "  'public': True,\n",
       "  'created_at': '2022-03-10T10:07:37Z',\n",
       "  'org': {'id': 459687,\n",
       "   'login': 'Talend',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/orgs/Talend',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/459687?'}},\n",
       " {'id': '20676880255',\n",
       "  'type': 'PushEvent',\n",
       "  'actor': {'id': 41898282,\n",
       "   'login': 'github-actions[bot]',\n",
       "   'display_login': 'github-actions',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/users/github-actions[bot]',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/41898282?'},\n",
       "  'repo': {'id': 212860357,\n",
       "   'name': 'baloise/design-system',\n",
       "   'url': 'https://api.github.com/repos/baloise/design-system'},\n",
       "  'payload': {'push_id': 9314622202,\n",
       "   'size': 1,\n",
       "   'distinct_size': 1,\n",
       "   'ref': 'refs/heads/master',\n",
       "   'head': '4d15b2fac8cdf8f55ec15b9a595cf52482b08757',\n",
       "   'before': 'ea1b7d673a58a8f6b33e8571a058f8ae60f773f2',\n",
       "   'commits': [{'sha': '4d15b2fac8cdf8f55ec15b9a595cf52482b08757',\n",
       "     'author': {'email': 'Group.CH_Open-Source@baloise.ch', 'name': 'baopso'},\n",
       "     'message': 'chore(release): v10.5.1',\n",
       "     'distinct': True,\n",
       "     'url': 'https://api.github.com/repos/baloise/design-system/commits/4d15b2fac8cdf8f55ec15b9a595cf52482b08757'}]},\n",
       "  'public': True,\n",
       "  'created_at': '2022-03-10T10:07:37Z',\n",
       "  'org': {'id': 4548858,\n",
       "   'login': 'baloise',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/orgs/baloise',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/4548858?'}},\n",
       " {'id': '20676879984',\n",
       "  'type': 'PushEvent',\n",
       "  'actor': {'id': 45361937,\n",
       "   'login': 'OnitiFR',\n",
       "   'display_login': 'OnitiFR',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/users/OnitiFR',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/45361937?'},\n",
       "  'repo': {'id': 180749720,\n",
       "   'name': 'OnitiFR/mulch',\n",
       "   'url': 'https://api.github.com/repos/OnitiFR/mulch'},\n",
       "  'payload': {'push_id': 9314622054,\n",
       "   'size': 1,\n",
       "   'distinct_size': 1,\n",
       "   'ref': 'refs/heads/master',\n",
       "   'head': '6e20fffde68dcb804222898b3da512821740d7ec',\n",
       "   'before': '489c6765347543d9629b93e7ca29d0acf17e6afd',\n",
       "   'commits': [{'sha': '6e20fffde68dcb804222898b3da512821740d7ec',\n",
       "     'author': {'email': 'julien@oniti.fr',\n",
       "      'name': \"Julien 'Xfennec' Lollivier\"},\n",
       "     'message': 'update README',\n",
       "     'distinct': True,\n",
       "     'url': 'https://api.github.com/repos/OnitiFR/mulch/commits/6e20fffde68dcb804222898b3da512821740d7ec'}]},\n",
       "  'public': True,\n",
       "  'created_at': '2022-03-10T10:07:36Z'},\n",
       " {'id': '20676879968',\n",
       "  'type': 'PushEvent',\n",
       "  'actor': {'id': 64370223,\n",
       "   'login': 'javierfdezfebrero',\n",
       "   'display_login': 'javierfdezfebrero',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/users/javierfdezfebrero',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/64370223?'},\n",
       "  'repo': {'id': 406948485,\n",
       "   'name': 'javierfdezfebrero/clase',\n",
       "   'url': 'https://api.github.com/repos/javierfdezfebrero/clase'},\n",
       "  'payload': {'push_id': 9314622025,\n",
       "   'size': 1,\n",
       "   'distinct_size': 1,\n",
       "   'ref': 'refs/heads/main',\n",
       "   'head': 'aefd350f313a982f446f19c2260eec666be524d6',\n",
       "   'before': '1e39ee305e4a9a8a007f1fb9b057115c83b6be80',\n",
       "   'commits': [{'sha': 'aefd350f313a982f446f19c2260eec666be524d6',\n",
       "     'author': {'email': 'a15javierff@a32eql11.sanclemente.local',\n",
       "      'name': 'daw2FPD - Fernández Febrero'},\n",
       "     'message': 'Subida  10/03/2022 11:07',\n",
       "     'distinct': True,\n",
       "     'url': 'https://api.github.com/repos/javierfdezfebrero/clase/commits/aefd350f313a982f446f19c2260eec666be524d6'}]},\n",
       "  'public': True,\n",
       "  'created_at': '2022-03-10T10:07:36Z'},\n",
       " {'id': '20676880001',\n",
       "  'type': 'CreateEvent',\n",
       "  'actor': {'id': 13368283,\n",
       "   'login': 'Neerfix',\n",
       "   'display_login': 'Neerfix',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/users/Neerfix',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/13368283?'},\n",
       "  'repo': {'id': 456260861,\n",
       "   'name': 'helloworld-ynovlyon/api',\n",
       "   'url': 'https://api.github.com/repos/helloworld-ynovlyon/api'},\n",
       "  'payload': {'ref': 'fix/register',\n",
       "   'ref_type': 'branch',\n",
       "   'master_branch': 'master',\n",
       "   'description': 'A symfony api to Hello World project.',\n",
       "   'pusher_type': 'user'},\n",
       "  'public': True,\n",
       "  'created_at': '2022-03-10T10:07:36Z',\n",
       "  'org': {'id': 98605690,\n",
       "   'login': 'helloworld-ynovlyon',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/orgs/helloworld-ynovlyon',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/98605690?'}},\n",
       " {'id': '20676879958',\n",
       "  'type': 'PullRequestReviewCommentEvent',\n",
       "  'actor': {'id': 1745006,\n",
       "   'login': 'jsafrane',\n",
       "   'display_login': 'jsafrane',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/users/jsafrane',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/1745006?'},\n",
       "  'repo': {'id': 203647456,\n",
       "   'name': 'openshift/enhancements',\n",
       "   'url': 'https://api.github.com/repos/openshift/enhancements'},\n",
       "  'payload': {'action': 'created',\n",
       "   'comment': {'url': 'https://api.github.com/repos/openshift/enhancements/pulls/comments/823552395',\n",
       "    'pull_request_review_id': 905557965,\n",
       "    'id': 823552395,\n",
       "    'node_id': 'PRRC_kwDODCNp4M4xFmmL',\n",
       "    'diff_hunk': '@@ -0,0 +1,407 @@\\n+---\\n+title: shared-resource-validation\\n+authors:\\n+  - \"@gabemontero\"\\n+reviewers:\\n+  - \"@deads2k\"\\n+  - \"@jsafrane\"\\n+  - \"@adambkaplan\"\\n+  - \"@coreydaley\"\\n+  - Barnaby Court\\n+  - Chris Snyder\\n+approvers:\\n+  - \"@deads2k\"\\n+  - \"@jsafrane\"\\n+  - \"@adambkaplan\"\\n+api-approvers: # in case of new or modified APIs or API extensions (CRDs, aggregated apiservers, webhooks, finalizers)\\n+  - \"@deads2k\"\\n+creation-date: 2022-03-08\\n+last-updated: 2022-03-08\\n+tracking-link: # link to the tracking ticket (for example: Jira Feature or Epic ticket) that corresponds to this enhancement\\n+  - https://issues.redhat.com/browse/BUILD-406\\n+see-also:\\n+  - \"/enhancements/cluster-scope-secret-volumes/csi-driver-host-injections.md\"\\n+replaces:\\n+  - \"N/A\"\\n+superseded-by:\\n+  - \"N/A\"\\n+---\\n+\\n+# Shared Resource Validation\\n+\\n+## Summary\\n+\\n+This Enhancement Proposal details improvements to existing validations currently performed, as well as the introduction\\n+of new validations to be performed, on artifacts related to the Shared Resource CSI Driver and Operator component introduced \\n+as Tech Preview in 4.10.  As a quick reminder, the associated API for \"Shared Resources\", namely SharedSecrets and SharedConfigMaps, are \\n+cluster scoped objects whose referenced namespace scoped Secrets and Configmaps are mounted into Pod Spec\\'able objects\\n+via use of the associated Shared Resource CSI Driver.\\n+\\n+With the introduction of the Shared Resources API in 4.10, any restrictions around use of the new CRDs or the declaring\\n+of Volumes using the new Driver in Pods, was done at the CSI Driver level.  That is often not the \\n+most efficient location to enforce such restrictions, as the entire Kubelet provisioning path for the Pod must be exercised \\n+for the error to be caught.  Also, the user does not learn of the error upon creation of the Pod Spec\\'able object.\\n+Instead, the user must inspect Pod status and Events to learn of the problem.\\n+\\n+This proposal intends to improve on the usability around error discovery by employing validations called during API object\\n+creation and modification.\\n+\\n+## Motivation\\n+\\n+### Goals\\n+\\n+- Ensure names of pre-supplied SharedSecrets and SharedConfigMaps by OCP components will not conflict with any SharedSecrets or SharedConfigMaps created by users.\\n+- Whenever possible prevent unsupported use of read-write volumes, as well as any future restrictions around the CSI Volume API or Shared Resource API\\n+- Provide pluggable means of validation of the associated Secrets and ConfigMaps of SharedSecrets and SharedConfigMaps.\\n+\\n+And provide validation failures on API object creation/modification for each of these whenever possible.\\n+\\n+### Non-Goals\\n+\\n+\\n+## Proposal\\n+\\n+See upstream doc \\n+[https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#validatingadmissionwebhook](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#validatingadmissionwebhook)\\n+for explanation of `ValidationAdmissionWebhooks`\\n+\\n+We will employ this plug point for inserting the code that performs any validations added.\\n+\\n+### User Stories\\n+\\n+As a developer using the Shared Resource CSI Driver\\n+I want validation for `readOnly: true` to be set on volumes for the Shared Resource CSI Driver to occur prior\\n+to the Pod Spec\\'able object getting persisted to etcd, so that pods are not stuck in \"Creating\" state waiting for a mount that will never succeed.\\n+Rather, I learn of the problem on the API Object PUT/POST.\\n+\\n+As an OpenShift operator maintainer or cluster administrator\\n+I want to reserve the `openshift-` prefix for SharedSecrets and SharedConfigMaps\\n+so that future OpenShift operators can create system-level shared resources and not have name conflicts \\n+with items created by OCP users.\\n+\\n+As a developer, OpenShift operator maintainer, or cluster administrator\\n+I want options that verify the Secret or ConfigMap content in a SharedSecret or SharedConfigMap is \"valid\" for \\n+any of the \"well known\" SharedSecrets or SharedConfigMaps that OCP could pre-populate the cluster with (entitlement\\n+secret for example).\\n+\\n+As a developer using the Shared Resource CSI Driver I want any validations to be provisioned and lifecycled in as much\\n+as possible the same fashion as the driver itself for consistency (i.e. via Cluster Storage Operator).\\n+\\n+As a developer or administrator using the Shared Resource CSI Driver I want sufficient metrics on the validations\\' prevention of incorrect Pods,\\n+SharedConfigMaps, and SharedSecrets, as a means of understanding the need for correcting misuse..\\n+\\n+As a developer or administrator using the Shared Resource CSI Driver I want necessary debug of the validation mechanism to be captured by\\n+OCP must-gather process.\\n+\\n+\\n+### API Extensions\\n+\\n+Quick note:  When discussing API, \\'Shared Resource\\' on its own == SharedConfigMap / SharedSecret, and \\'Reference\\' == the corresponding\\n+Secret or ConfigMap.\\n+\\n+A [ValidatingAdmissionWebhook](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#validatingadmissionwebhook)\\n+will be used to inspect all created/modified Shared Resources, and make sure their names do not start\\n+with the reserved prefix \"openshift-\" unless their Shared Resource name and Reference key are found in a \\n+well known list of OCP pre-populated Shared Resource.  That list will be in well known ConfigMaps that resides \\n+in the managed CSI Driver namespace.  Components / operators other than Shared Resources that want to create pre-populated\\n+SharedSecrets or SharedConfigMaps should submit PRs against the Shared Resource CSI Driver Operator Repo to update the \\n+corresponding ConfigMap with the necessary information.  This is akin to how we create in-payload image streams via the PRs against the \\n+samples operator today.\\n+\\n+There will be a \"ocp-sharedsecret-list\" and \"ocp-sharedconfigmap-list\" ConfigMap.  The key of an entry is the Shared Resource\\n+name.  The value should be of the form \"namespace:name\" in order to capture. \\n+\\n+The \"openshift-*\" naming restriction is new as compared to the initial tech preview release of Shared Resources in 4.10.\\n+\\n+A ValidatingAdmissionWebhook will be used to inspect all created Pods, and k8s Pod derived types (Deployments, DaemonSets, etc.), \\n+as well Builds and BuildConfigs, and make sure no read-write Shared Resource CSI Volumes are specified.\\n+\\n+This restriction exists in 4.10, but is only enforced at the CSI driver level.\\n+\\n+The idea of validating the References of any future well-known, pre-populated Shared Resources\\n+(like the entitlement secret) was also raised during the review of the 4.10 blog post fof Shared Resources.  \\n+\\n+The discussion landed around these points:\\n+- A golang constant will declare the name of a k8s Condition that other components (i.e. OC Operators besides Shared Resources) will\\n+set on any Shared Resource that they pre-populate into OCP clusters.\\n+- REMINDER: the status structs of Shared Resources have an array of Conditions.  See \\n+[here](https://github.com/openshift/api/blob/dbc82f2a3bc8b07e39628d36aee19d5a62847e2c/sharedresource/v1alpha1/types_shared_configmap.go#L83-L88) and\\n+[here](https://github.com/openshift/api/blob/dbc82f2a3bc8b07e39628d36aee19d5a62847e2c/sharedresource/v1alpha1/types_shared_secret.go#L81-L86)\\n+- The components who create pre-populated Shared Resources should have a controller that performs whatever validations\\n+they deem possible to verify the References, and those controllers are what will update the Status Condition arrays\\n+for the pre-populated Shared Resources\\n+- 2 new boolean fields will be added to the Specs of Shared Resources\\n+- the first, \\'allowMountsWithInvalidReferences\\', will direct the Shared Resource CSI Driver as to allowd mount requests from the kubelet\\n+for the Shared Resource in question when it has a validity Condition stating that if is invalid.  Default is to deny.\\n+- the second, \\'keepMountedDataWithInvalidReferences\\', will, much like when the \\'use\\' permission is lost today, will control whether to remove\\n+the data mounted from the Reference if the Shared Resource is no longer valid.  Default is to remove the data.\\n+\\n+### Implementation Details/Notes/Constraints [optional]\\n+\\n+Generally, basic field checking of the API Object created or modified when the webhook is called should be sufficient\\n+for the \\'readOnly: true\\' and \\'openshif-*\\' restriction enforcement.\\n+\\n+Any handling of existing Shared Resources whose names start with \\'openshift-*\\' and were created when OCP was at a \\n+4.10.x level will be done by the controller, and not the new webhooks.  The controller\\'s existing watches, state around\\n+running Pods with Shared Resource volume mounts, is better suited to any actions of this ilk.  The controller will use the \\n+new \"validity\" condition, with the name restriction as the reason, if an unapproved use of \"openshift-*\" is found,\\n+and will handle mounts and existing data according to the defaults for the 2 new boolean fields.  But let\\'s discuss \\n+if we should toggle that behavior.\\n+\\n+The webhook will handle the \"openshift-*\" naming restriction for creates of Shared Resources.\\n+The webhook will read the \"allow list\" ConfigMaps on startup (they should not change except on upgrade) and so its validations \\n+should not involve any RPC calls.\\n+\\n+Existing checks in the controller for the presence of \"readOnly: true\" check will be kept.  Analogous checks for \\n+who creates \"openshift-*\" Shared Resources will also exist in the controller.  This covers the case when the webhook\\n+might be down.\\n+\\n+Per open questions, discovery of how restricting creation of namespaces/projects starting with \"openshift-*\" should be\\n+done.  It is feasible that we augment the ConfigMap based \"allow list\" with the same mechanism (RBAC based?  Controller based?\\n+Project endpoint in the aggregated API Server?).\\n+\\n+### Risks and Mitigations\\n+\\n+Since Shared Resources is Tech Preview 4.10, we can introduce validation controls that \"break existing API usage\" in later releases than 4.10.\\n+In particular, any users who were creating SharedSecrets of their own that start with \"openshift-\".  But we have to \\n+have all such restrictions in place before moving from Tech Preview to GA.  The 4.10 blog post does give a warning\\n+that we might restrict use of Shared Resources names starting with \"openshift-*\"\\n+\\n+And again, the \"readOnly: true\" validation was already in effect in 4.10, but only enforced at the controller.\\n+\\n+That said, even with Tech Preview, release notes are warranted if we go down the path of invalidating of \\n+Shared Resources that were \"OK\" in 4.10.  And user push back is at least conceivable on a case by case basis.\\n+\\n+## Design Details\\n+\\n+\\n+### Open Questions [optional]\\n+\\n+ 1. Is there a \"Pod Spec\\'able\" filter wrt configuring validating admission webhooks, so we catch all the subtypes of Pod?  Or do we have to list each k8s type that has Volumes in the spec?  Do not think there is a \"pod spec\\'able\" filter, but let\\'s confirm.\\n+ 2. Existing k8s metrics cited below are sufficient for execution times for each request/response interaction when our new admission validations\\n+    are called, correct? If not, does it make sense to have new metrics be histograms around the admission validations execution times?\\n+ 3. Validating webhooks can define / maintain metrics and a metric service, right?\\n+ 4. Since we are going to have backup validations continue in the controller, can the webhook and controller share metrics, or do we need them to maintain separately named, but logically equivalent metrics?',\n",
       "    'path': 'enhancements/cluster-scope-secret-volumes/shared-resource-validation.md',\n",
       "    'position': 184,\n",
       "    'original_position': 184,\n",
       "    'commit_id': '80333a250ea26ecb91a5550859d5faa102db39e5',\n",
       "    'original_commit_id': '80333a250ea26ecb91a5550859d5faa102db39e5',\n",
       "    'user': {'login': 'jsafrane',\n",
       "     'id': 1745006,\n",
       "     'node_id': 'MDQ6VXNlcjE3NDUwMDY=',\n",
       "     'avatar_url': 'https://avatars.githubusercontent.com/u/1745006?v=4',\n",
       "     'gravatar_id': '',\n",
       "     'url': 'https://api.github.com/users/jsafrane',\n",
       "     'html_url': 'https://github.com/jsafrane',\n",
       "     'followers_url': 'https://api.github.com/users/jsafrane/followers',\n",
       "     'following_url': 'https://api.github.com/users/jsafrane/following{/other_user}',\n",
       "     'gists_url': 'https://api.github.com/users/jsafrane/gists{/gist_id}',\n",
       "     'starred_url': 'https://api.github.com/users/jsafrane/starred{/owner}{/repo}',\n",
       "     'subscriptions_url': 'https://api.github.com/users/jsafrane/subscriptions',\n",
       "     'organizations_url': 'https://api.github.com/users/jsafrane/orgs',\n",
       "     'repos_url': 'https://api.github.com/users/jsafrane/repos',\n",
       "     'events_url': 'https://api.github.com/users/jsafrane/events{/privacy}',\n",
       "     'received_events_url': 'https://api.github.com/users/jsafrane/received_events',\n",
       "     'type': 'User',\n",
       "     'site_admin': False},\n",
       "    'body': 'They can share metrics, still, I am not sure there is a need for the controller + extra conditions.',\n",
       "    'created_at': '2022-03-10T10:07:19Z',\n",
       "    'updated_at': '2022-03-10T10:07:35Z',\n",
       "    'html_url': 'https://github.com/openshift/enhancements/pull/1056#discussion_r823552395',\n",
       "    'pull_request_url': 'https://api.github.com/repos/openshift/enhancements/pulls/1056',\n",
       "    'author_association': 'CONTRIBUTOR',\n",
       "    '_links': {'self': {'href': 'https://api.github.com/repos/openshift/enhancements/pulls/comments/823552395'},\n",
       "     'html': {'href': 'https://github.com/openshift/enhancements/pull/1056#discussion_r823552395'},\n",
       "     'pull_request': {'href': 'https://api.github.com/repos/openshift/enhancements/pulls/1056'}},\n",
       "    'reactions': {'url': 'https://api.github.com/repos/openshift/enhancements/pulls/comments/823552395/reactions',\n",
       "     'total_count': 0,\n",
       "     '+1': 0,\n",
       "     '-1': 0,\n",
       "     'laugh': 0,\n",
       "     'hooray': 0,\n",
       "     'confused': 0,\n",
       "     'heart': 0,\n",
       "     'rocket': 0,\n",
       "     'eyes': 0},\n",
       "    'start_line': None,\n",
       "    'original_start_line': None,\n",
       "    'start_side': None,\n",
       "    'line': 184,\n",
       "    'original_line': 184,\n",
       "    'side': 'RIGHT'},\n",
       "   'pull_request': {'url': 'https://api.github.com/repos/openshift/enhancements/pulls/1056',\n",
       "    'id': 874600113,\n",
       "    'node_id': 'PR_kwDODCNp4M40IVax',\n",
       "    'html_url': 'https://github.com/openshift/enhancements/pull/1056',\n",
       "    'diff_url': 'https://github.com/openshift/enhancements/pull/1056.diff',\n",
       "    'patch_url': 'https://github.com/openshift/enhancements/pull/1056.patch',\n",
       "    'issue_url': 'https://api.github.com/repos/openshift/enhancements/issues/1056',\n",
       "    'number': 1056,\n",
       "    'state': 'open',\n",
       "    'locked': False,\n",
       "    'title': 'BUILD-406: shared resource validating admission EP',\n",
       "    'user': {'login': 'gabemontero',\n",
       "     'id': 3594868,\n",
       "     'node_id': 'MDQ6VXNlcjM1OTQ4Njg=',\n",
       "     'avatar_url': 'https://avatars.githubusercontent.com/u/3594868?v=4',\n",
       "     'gravatar_id': '',\n",
       "     'url': 'https://api.github.com/users/gabemontero',\n",
       "     'html_url': 'https://github.com/gabemontero',\n",
       "     'followers_url': 'https://api.github.com/users/gabemontero/followers',\n",
       "     'following_url': 'https://api.github.com/users/gabemontero/following{/other_user}',\n",
       "     'gists_url': 'https://api.github.com/users/gabemontero/gists{/gist_id}',\n",
       "     'starred_url': 'https://api.github.com/users/gabemontero/starred{/owner}{/repo}',\n",
       "     'subscriptions_url': 'https://api.github.com/users/gabemontero/subscriptions',\n",
       "     'organizations_url': 'https://api.github.com/users/gabemontero/orgs',\n",
       "     'repos_url': 'https://api.github.com/users/gabemontero/repos',\n",
       "     'events_url': 'https://api.github.com/users/gabemontero/events{/privacy}',\n",
       "     'received_events_url': 'https://api.github.com/users/gabemontero/received_events',\n",
       "     'type': 'User',\n",
       "     'site_admin': False},\n",
       "    'body': 'EP that stems from early testing and demoing of the use of RHEL entitlements in OpenShift Builds via the new Shared Resources CSI Driver and Controller, which is tech preview in 4.10\\r\\n\\r\\nThis EP proscribes 3 major validations around the creation/modification of SharedConfigMaps and SharedSecrets, as well as the use of CSI volumes provisioned by the Shared Resource CSI Driver, via new k8s ValidatingAdmissionWebhooks.\\r\\n\\r\\nWhile similar validations currently or will exist in the controller / CSI driver, use of the webhook provides better usability when dealing with violations of the validations.',\n",
       "    'created_at': '2022-03-08T21:16:09Z',\n",
       "    'updated_at': '2022-03-10T10:07:35Z',\n",
       "    'closed_at': None,\n",
       "    'merged_at': None,\n",
       "    'merge_commit_sha': '4207f30c407fc4bf14b59d77af46edcc496a2945',\n",
       "    'assignee': {'login': 'adambkaplan',\n",
       "     'id': 1538838,\n",
       "     'node_id': 'MDQ6VXNlcjE1Mzg4Mzg=',\n",
       "     'avatar_url': 'https://avatars.githubusercontent.com/u/1538838?v=4',\n",
       "     'gravatar_id': '',\n",
       "     'url': 'https://api.github.com/users/adambkaplan',\n",
       "     'html_url': 'https://github.com/adambkaplan',\n",
       "     'followers_url': 'https://api.github.com/users/adambkaplan/followers',\n",
       "     'following_url': 'https://api.github.com/users/adambkaplan/following{/other_user}',\n",
       "     'gists_url': 'https://api.github.com/users/adambkaplan/gists{/gist_id}',\n",
       "     'starred_url': 'https://api.github.com/users/adambkaplan/starred{/owner}{/repo}',\n",
       "     'subscriptions_url': 'https://api.github.com/users/adambkaplan/subscriptions',\n",
       "     'organizations_url': 'https://api.github.com/users/adambkaplan/orgs',\n",
       "     'repos_url': 'https://api.github.com/users/adambkaplan/repos',\n",
       "     'events_url': 'https://api.github.com/users/adambkaplan/events{/privacy}',\n",
       "     'received_events_url': 'https://api.github.com/users/adambkaplan/received_events',\n",
       "     'type': 'User',\n",
       "     'site_admin': False},\n",
       "    'assignees': [{'login': 'adambkaplan',\n",
       "      'id': 1538838,\n",
       "      'node_id': 'MDQ6VXNlcjE1Mzg4Mzg=',\n",
       "      'avatar_url': 'https://avatars.githubusercontent.com/u/1538838?v=4',\n",
       "      'gravatar_id': '',\n",
       "      'url': 'https://api.github.com/users/adambkaplan',\n",
       "      'html_url': 'https://github.com/adambkaplan',\n",
       "      'followers_url': 'https://api.github.com/users/adambkaplan/followers',\n",
       "      'following_url': 'https://api.github.com/users/adambkaplan/following{/other_user}',\n",
       "      'gists_url': 'https://api.github.com/users/adambkaplan/gists{/gist_id}',\n",
       "      'starred_url': 'https://api.github.com/users/adambkaplan/starred{/owner}{/repo}',\n",
       "      'subscriptions_url': 'https://api.github.com/users/adambkaplan/subscriptions',\n",
       "      'organizations_url': 'https://api.github.com/users/adambkaplan/orgs',\n",
       "      'repos_url': 'https://api.github.com/users/adambkaplan/repos',\n",
       "      'events_url': 'https://api.github.com/users/adambkaplan/events{/privacy}',\n",
       "      'received_events_url': 'https://api.github.com/users/adambkaplan/received_events',\n",
       "      'type': 'User',\n",
       "      'site_admin': False},\n",
       "     {'login': 'jsafrane',\n",
       "      'id': 1745006,\n",
       "      'node_id': 'MDQ6VXNlcjE3NDUwMDY=',\n",
       "      'avatar_url': 'https://avatars.githubusercontent.com/u/1745006?v=4',\n",
       "      'gravatar_id': '',\n",
       "      'url': 'https://api.github.com/users/jsafrane',\n",
       "      'html_url': 'https://github.com/jsafrane',\n",
       "      'followers_url': 'https://api.github.com/users/jsafrane/followers',\n",
       "      'following_url': 'https://api.github.com/users/jsafrane/following{/other_user}',\n",
       "      'gists_url': 'https://api.github.com/users/jsafrane/gists{/gist_id}',\n",
       "      'starred_url': 'https://api.github.com/users/jsafrane/starred{/owner}{/repo}',\n",
       "      'subscriptions_url': 'https://api.github.com/users/jsafrane/subscriptions',\n",
       "      'organizations_url': 'https://api.github.com/users/jsafrane/orgs',\n",
       "      'repos_url': 'https://api.github.com/users/jsafrane/repos',\n",
       "      'events_url': 'https://api.github.com/users/jsafrane/events{/privacy}',\n",
       "      'received_events_url': 'https://api.github.com/users/jsafrane/received_events',\n",
       "      'type': 'User',\n",
       "      'site_admin': False},\n",
       "     {'login': 'coreydaley',\n",
       "      'id': 5060301,\n",
       "      'node_id': 'MDQ6VXNlcjUwNjAzMDE=',\n",
       "      'avatar_url': 'https://avatars.githubusercontent.com/u/5060301?v=4',\n",
       "      'gravatar_id': '',\n",
       "      'url': 'https://api.github.com/users/coreydaley',\n",
       "      'html_url': 'https://github.com/coreydaley',\n",
       "      'followers_url': 'https://api.github.com/users/coreydaley/followers',\n",
       "      'following_url': 'https://api.github.com/users/coreydaley/following{/other_user}',\n",
       "      'gists_url': 'https://api.github.com/users/coreydaley/gists{/gist_id}',\n",
       "      'starred_url': 'https://api.github.com/users/coreydaley/starred{/owner}{/repo}',\n",
       "      'subscriptions_url': 'https://api.github.com/users/coreydaley/subscriptions',\n",
       "      'organizations_url': 'https://api.github.com/users/coreydaley/orgs',\n",
       "      'repos_url': 'https://api.github.com/users/coreydaley/repos',\n",
       "      'events_url': 'https://api.github.com/users/coreydaley/events{/privacy}',\n",
       "      'received_events_url': 'https://api.github.com/users/coreydaley/received_events',\n",
       "      'type': 'User',\n",
       "      'site_admin': False},\n",
       "     {'login': 'deads2k',\n",
       "      'id': 8225098,\n",
       "      'node_id': 'MDQ6VXNlcjgyMjUwOTg=',\n",
       "      'avatar_url': 'https://avatars.githubusercontent.com/u/8225098?v=4',\n",
       "      'gravatar_id': '',\n",
       "      'url': 'https://api.github.com/users/deads2k',\n",
       "      'html_url': 'https://github.com/deads2k',\n",
       "      'followers_url': 'https://api.github.com/users/deads2k/followers',\n",
       "      'following_url': 'https://api.github.com/users/deads2k/following{/other_user}',\n",
       "      'gists_url': 'https://api.github.com/users/deads2k/gists{/gist_id}',\n",
       "      'starred_url': 'https://api.github.com/users/deads2k/starred{/owner}{/repo}',\n",
       "      'subscriptions_url': 'https://api.github.com/users/deads2k/subscriptions',\n",
       "      'organizations_url': 'https://api.github.com/users/deads2k/orgs',\n",
       "      'repos_url': 'https://api.github.com/users/deads2k/repos',\n",
       "      'events_url': 'https://api.github.com/users/deads2k/events{/privacy}',\n",
       "      'received_events_url': 'https://api.github.com/users/deads2k/received_events',\n",
       "      'type': 'User',\n",
       "      'site_admin': False}],\n",
       "    'requested_reviewers': [{'login': 'stevekuznetsov',\n",
       "      'id': 7328370,\n",
       "      'node_id': 'MDQ6VXNlcjczMjgzNzA=',\n",
       "      'avatar_url': 'https://avatars.githubusercontent.com/u/7328370?v=4',\n",
       "      'gravatar_id': '',\n",
       "      'url': 'https://api.github.com/users/stevekuznetsov',\n",
       "      'html_url': 'https://github.com/stevekuznetsov',\n",
       "      'followers_url': 'https://api.github.com/users/stevekuznetsov/followers',\n",
       "      'following_url': 'https://api.github.com/users/stevekuznetsov/following{/other_user}',\n",
       "      'gists_url': 'https://api.github.com/users/stevekuznetsov/gists{/gist_id}',\n",
       "      'starred_url': 'https://api.github.com/users/stevekuznetsov/starred{/owner}{/repo}',\n",
       "      'subscriptions_url': 'https://api.github.com/users/stevekuznetsov/subscriptions',\n",
       "      'organizations_url': 'https://api.github.com/users/stevekuznetsov/orgs',\n",
       "      'repos_url': 'https://api.github.com/users/stevekuznetsov/repos',\n",
       "      'events_url': 'https://api.github.com/users/stevekuznetsov/events{/privacy}',\n",
       "      'received_events_url': 'https://api.github.com/users/stevekuznetsov/received_events',\n",
       "      'type': 'User',\n",
       "      'site_admin': False},\n",
       "     {'login': 'tjungblu',\n",
       "      'id': 85170409,\n",
       "      'node_id': 'MDQ6VXNlcjg1MTcwNDA5',\n",
       "      'avatar_url': 'https://avatars.githubusercontent.com/u/85170409?v=4',\n",
       "      'gravatar_id': '',\n",
       "      'url': 'https://api.github.com/users/tjungblu',\n",
       "      'html_url': 'https://github.com/tjungblu',\n",
       "      'followers_url': 'https://api.github.com/users/tjungblu/followers',\n",
       "      'following_url': 'https://api.github.com/users/tjungblu/following{/other_user}',\n",
       "      'gists_url': 'https://api.github.com/users/tjungblu/gists{/gist_id}',\n",
       "      'starred_url': 'https://api.github.com/users/tjungblu/starred{/owner}{/repo}',\n",
       "      'subscriptions_url': 'https://api.github.com/users/tjungblu/subscriptions',\n",
       "      'organizations_url': 'https://api.github.com/users/tjungblu/orgs',\n",
       "      'repos_url': 'https://api.github.com/users/tjungblu/repos',\n",
       "      'events_url': 'https://api.github.com/users/tjungblu/events{/privacy}',\n",
       "      'received_events_url': 'https://api.github.com/users/tjungblu/received_events',\n",
       "      'type': 'User',\n",
       "      'site_admin': False}],\n",
       "    'requested_teams': [],\n",
       "    'labels': [],\n",
       "    'milestone': None,\n",
       "    'draft': False,\n",
       "    'commits_url': 'https://api.github.com/repos/openshift/enhancements/pulls/1056/commits',\n",
       "    'review_comments_url': 'https://api.github.com/repos/openshift/enhancements/pulls/1056/comments',\n",
       "    'review_comment_url': 'https://api.github.com/repos/openshift/enhancements/pulls/comments{/number}',\n",
       "    'comments_url': 'https://api.github.com/repos/openshift/enhancements/issues/1056/comments',\n",
       "    'statuses_url': 'https://api.github.com/repos/openshift/enhancements/statuses/80333a250ea26ecb91a5550859d5faa102db39e5',\n",
       "    'head': {'label': 'gabemontero:shared-resource-validations',\n",
       "     'ref': 'shared-resource-validations',\n",
       "     'sha': '80333a250ea26ecb91a5550859d5faa102db39e5',\n",
       "     'user': {'login': 'gabemontero',\n",
       "      'id': 3594868,\n",
       "      'node_id': 'MDQ6VXNlcjM1OTQ4Njg=',\n",
       "      'avatar_url': 'https://avatars.githubusercontent.com/u/3594868?v=4',\n",
       "      'gravatar_id': '',\n",
       "      'url': 'https://api.github.com/users/gabemontero',\n",
       "      'html_url': 'https://github.com/gabemontero',\n",
       "      'followers_url': 'https://api.github.com/users/gabemontero/followers',\n",
       "      'following_url': 'https://api.github.com/users/gabemontero/following{/other_user}',\n",
       "      'gists_url': 'https://api.github.com/users/gabemontero/gists{/gist_id}',\n",
       "      'starred_url': 'https://api.github.com/users/gabemontero/starred{/owner}{/repo}',\n",
       "      'subscriptions_url': 'https://api.github.com/users/gabemontero/subscriptions',\n",
       "      'organizations_url': 'https://api.github.com/users/gabemontero/orgs',\n",
       "      'repos_url': 'https://api.github.com/users/gabemontero/repos',\n",
       "      'events_url': 'https://api.github.com/users/gabemontero/events{/privacy}',\n",
       "      'received_events_url': 'https://api.github.com/users/gabemontero/received_events',\n",
       "      'type': 'User',\n",
       "      'site_admin': False},\n",
       "     'repo': {'id': 209791239,\n",
       "      'node_id': 'MDEwOlJlcG9zaXRvcnkyMDk3OTEyMzk=',\n",
       "      'name': 'enhancements',\n",
       "      'full_name': 'gabemontero/enhancements',\n",
       "      'private': False,\n",
       "      'owner': {'login': 'gabemontero',\n",
       "       'id': 3594868,\n",
       "       'node_id': 'MDQ6VXNlcjM1OTQ4Njg=',\n",
       "       'avatar_url': 'https://avatars.githubusercontent.com/u/3594868?v=4',\n",
       "       'gravatar_id': '',\n",
       "       'url': 'https://api.github.com/users/gabemontero',\n",
       "       'html_url': 'https://github.com/gabemontero',\n",
       "       'followers_url': 'https://api.github.com/users/gabemontero/followers',\n",
       "       'following_url': 'https://api.github.com/users/gabemontero/following{/other_user}',\n",
       "       'gists_url': 'https://api.github.com/users/gabemontero/gists{/gist_id}',\n",
       "       'starred_url': 'https://api.github.com/users/gabemontero/starred{/owner}{/repo}',\n",
       "       'subscriptions_url': 'https://api.github.com/users/gabemontero/subscriptions',\n",
       "       'organizations_url': 'https://api.github.com/users/gabemontero/orgs',\n",
       "       'repos_url': 'https://api.github.com/users/gabemontero/repos',\n",
       "       'events_url': 'https://api.github.com/users/gabemontero/events{/privacy}',\n",
       "       'received_events_url': 'https://api.github.com/users/gabemontero/received_events',\n",
       "       'type': 'User',\n",
       "       'site_admin': False},\n",
       "      'html_url': 'https://github.com/gabemontero/enhancements',\n",
       "      'description': 'Enhancements tracking repository for OKD',\n",
       "      'fork': True,\n",
       "      'url': 'https://api.github.com/repos/gabemontero/enhancements',\n",
       "      'forks_url': 'https://api.github.com/repos/gabemontero/enhancements/forks',\n",
       "      'keys_url': 'https://api.github.com/repos/gabemontero/enhancements/keys{/key_id}',\n",
       "      'collaborators_url': 'https://api.github.com/repos/gabemontero/enhancements/collaborators{/collaborator}',\n",
       "      'teams_url': 'https://api.github.com/repos/gabemontero/enhancements/teams',\n",
       "      'hooks_url': 'https://api.github.com/repos/gabemontero/enhancements/hooks',\n",
       "      'issue_events_url': 'https://api.github.com/repos/gabemontero/enhancements/issues/events{/number}',\n",
       "      'events_url': 'https://api.github.com/repos/gabemontero/enhancements/events',\n",
       "      'assignees_url': 'https://api.github.com/repos/gabemontero/enhancements/assignees{/user}',\n",
       "      'branches_url': 'https://api.github.com/repos/gabemontero/enhancements/branches{/branch}',\n",
       "      'tags_url': 'https://api.github.com/repos/gabemontero/enhancements/tags',\n",
       "      'blobs_url': 'https://api.github.com/repos/gabemontero/enhancements/git/blobs{/sha}',\n",
       "      'git_tags_url': 'https://api.github.com/repos/gabemontero/enhancements/git/tags{/sha}',\n",
       "      'git_refs_url': 'https://api.github.com/repos/gabemontero/enhancements/git/refs{/sha}',\n",
       "      'trees_url': 'https://api.github.com/repos/gabemontero/enhancements/git/trees{/sha}',\n",
       "      'statuses_url': 'https://api.github.com/repos/gabemontero/enhancements/statuses/{sha}',\n",
       "      'languages_url': 'https://api.github.com/repos/gabemontero/enhancements/languages',\n",
       "      'stargazers_url': 'https://api.github.com/repos/gabemontero/enhancements/stargazers',\n",
       "      'contributors_url': 'https://api.github.com/repos/gabemontero/enhancements/contributors',\n",
       "      'subscribers_url': 'https://api.github.com/repos/gabemontero/enhancements/subscribers',\n",
       "      'subscription_url': 'https://api.github.com/repos/gabemontero/enhancements/subscription',\n",
       "      'commits_url': 'https://api.github.com/repos/gabemontero/enhancements/commits{/sha}',\n",
       "      'git_commits_url': 'https://api.github.com/repos/gabemontero/enhancements/git/commits{/sha}',\n",
       "      'comments_url': 'https://api.github.com/repos/gabemontero/enhancements/comments{/number}',\n",
       "      'issue_comment_url': 'https://api.github.com/repos/gabemontero/enhancements/issues/comments{/number}',\n",
       "      'contents_url': 'https://api.github.com/repos/gabemontero/enhancements/contents/{+path}',\n",
       "      'compare_url': 'https://api.github.com/repos/gabemontero/enhancements/compare/{base}...{head}',\n",
       "      'merges_url': 'https://api.github.com/repos/gabemontero/enhancements/merges',\n",
       "      'archive_url': 'https://api.github.com/repos/gabemontero/enhancements/{archive_format}{/ref}',\n",
       "      'downloads_url': 'https://api.github.com/repos/gabemontero/enhancements/downloads',\n",
       "      'issues_url': 'https://api.github.com/repos/gabemontero/enhancements/issues{/number}',\n",
       "      'pulls_url': 'https://api.github.com/repos/gabemontero/enhancements/pulls{/number}',\n",
       "      'milestones_url': 'https://api.github.com/repos/gabemontero/enhancements/milestones{/number}',\n",
       "      'notifications_url': 'https://api.github.com/repos/gabemontero/enhancements/notifications{?since,all,participating}',\n",
       "      'labels_url': 'https://api.github.com/repos/gabemontero/enhancements/labels{/name}',\n",
       "      'releases_url': 'https://api.github.com/repos/gabemontero/enhancements/releases{/id}',\n",
       "      'deployments_url': 'https://api.github.com/repos/gabemontero/enhancements/deployments',\n",
       "      'created_at': '2019-09-20T12:58:09Z',\n",
       "      'updated_at': '2021-10-06T18:39:11Z',\n",
       "      'pushed_at': '2022-03-08T21:32:38Z',\n",
       "      'git_url': 'git://github.com/gabemontero/enhancements.git',\n",
       "      'ssh_url': 'git@github.com:gabemontero/enhancements.git',\n",
       "      'clone_url': 'https://github.com/gabemontero/enhancements.git',\n",
       "      'svn_url': 'https://github.com/gabemontero/enhancements',\n",
       "      'homepage': None,\n",
       "      'size': 7087,\n",
       "      'stargazers_count': 0,\n",
       "      'watchers_count': 0,\n",
       "      'language': 'Go',\n",
       "      'has_issues': False,\n",
       "      'has_projects': True,\n",
       "      'has_downloads': True,\n",
       "      'has_wiki': True,\n",
       "      'has_pages': False,\n",
       "      'forks_count': 0,\n",
       "      'mirror_url': None,\n",
       "      'archived': False,\n",
       "      'disabled': False,\n",
       "      'open_issues_count': 0,\n",
       "      'license': {'key': 'apache-2.0',\n",
       "       'name': 'Apache License 2.0',\n",
       "       'spdx_id': 'Apache-2.0',\n",
       "       'url': 'https://api.github.com/licenses/apache-2.0',\n",
       "       'node_id': 'MDc6TGljZW5zZTI='},\n",
       "      'allow_forking': True,\n",
       "      'is_template': False,\n",
       "      'topics': [],\n",
       "      'visibility': 'public',\n",
       "      'forks': 0,\n",
       "      'open_issues': 0,\n",
       "      'watchers': 0,\n",
       "      'default_branch': 'master'}},\n",
       "    'base': {'label': 'openshift:master',\n",
       "     'ref': 'master',\n",
       "     'sha': '9b58c7a0d2b9fc2ea150218f9caa7654a9781f59',\n",
       "     'user': {'login': 'openshift',\n",
       "      'id': 792337,\n",
       "      'node_id': 'MDEyOk9yZ2FuaXphdGlvbjc5MjMzNw==',\n",
       "      'avatar_url': 'https://avatars.githubusercontent.com/u/792337?v=4',\n",
       "      'gravatar_id': '',\n",
       "      'url': 'https://api.github.com/users/openshift',\n",
       "      'html_url': 'https://github.com/openshift',\n",
       "      'followers_url': 'https://api.github.com/users/openshift/followers',\n",
       "      'following_url': 'https://api.github.com/users/openshift/following{/other_user}',\n",
       "      'gists_url': 'https://api.github.com/users/openshift/gists{/gist_id}',\n",
       "      'starred_url': 'https://api.github.com/users/openshift/starred{/owner}{/repo}',\n",
       "      'subscriptions_url': 'https://api.github.com/users/openshift/subscriptions',\n",
       "      'organizations_url': 'https://api.github.com/users/openshift/orgs',\n",
       "      'repos_url': 'https://api.github.com/users/openshift/repos',\n",
       "      'events_url': 'https://api.github.com/users/openshift/events{/privacy}',\n",
       "      'received_events_url': 'https://api.github.com/users/openshift/received_events',\n",
       "      'type': 'Organization',\n",
       "      'site_admin': False},\n",
       "     'repo': {'id': 203647456,\n",
       "      'node_id': 'MDEwOlJlcG9zaXRvcnkyMDM2NDc0NTY=',\n",
       "      'name': 'enhancements',\n",
       "      'full_name': 'openshift/enhancements',\n",
       "      'private': False,\n",
       "      'owner': {'login': 'openshift',\n",
       "       'id': 792337,\n",
       "       'node_id': 'MDEyOk9yZ2FuaXphdGlvbjc5MjMzNw==',\n",
       "       'avatar_url': 'https://avatars.githubusercontent.com/u/792337?v=4',\n",
       "       'gravatar_id': '',\n",
       "       'url': 'https://api.github.com/users/openshift',\n",
       "       'html_url': 'https://github.com/openshift',\n",
       "       'followers_url': 'https://api.github.com/users/openshift/followers',\n",
       "       'following_url': 'https://api.github.com/users/openshift/following{/other_user}',\n",
       "       'gists_url': 'https://api.github.com/users/openshift/gists{/gist_id}',\n",
       "       'starred_url': 'https://api.github.com/users/openshift/starred{/owner}{/repo}',\n",
       "       'subscriptions_url': 'https://api.github.com/users/openshift/subscriptions',\n",
       "       'organizations_url': 'https://api.github.com/users/openshift/orgs',\n",
       "       'repos_url': 'https://api.github.com/users/openshift/repos',\n",
       "       'events_url': 'https://api.github.com/users/openshift/events{/privacy}',\n",
       "       'received_events_url': 'https://api.github.com/users/openshift/received_events',\n",
       "       'type': 'Organization',\n",
       "       'site_admin': False},\n",
       "      'html_url': 'https://github.com/openshift/enhancements',\n",
       "      'description': 'Enhancements tracking repository for OKD',\n",
       "      'fork': False,\n",
       "      'url': 'https://api.github.com/repos/openshift/enhancements',\n",
       "      'forks_url': 'https://api.github.com/repos/openshift/enhancements/forks',\n",
       "      'keys_url': 'https://api.github.com/repos/openshift/enhancements/keys{/key_id}',\n",
       "      'collaborators_url': 'https://api.github.com/repos/openshift/enhancements/collaborators{/collaborator}',\n",
       "      'teams_url': 'https://api.github.com/repos/openshift/enhancements/teams',\n",
       "      'hooks_url': 'https://api.github.com/repos/openshift/enhancements/hooks',\n",
       "      'issue_events_url': 'https://api.github.com/repos/openshift/enhancements/issues/events{/number}',\n",
       "      'events_url': 'https://api.github.com/repos/openshift/enhancements/events',\n",
       "      'assignees_url': 'https://api.github.com/repos/openshift/enhancements/assignees{/user}',\n",
       "      'branches_url': 'https://api.github.com/repos/openshift/enhancements/branches{/branch}',\n",
       "      'tags_url': 'https://api.github.com/repos/openshift/enhancements/tags',\n",
       "      'blobs_url': 'https://api.github.com/repos/openshift/enhancements/git/blobs{/sha}',\n",
       "      'git_tags_url': 'https://api.github.com/repos/openshift/enhancements/git/tags{/sha}',\n",
       "      'git_refs_url': 'https://api.github.com/repos/openshift/enhancements/git/refs{/sha}',\n",
       "      'trees_url': 'https://api.github.com/repos/openshift/enhancements/git/trees{/sha}',\n",
       "      'statuses_url': 'https://api.github.com/repos/openshift/enhancements/statuses/{sha}',\n",
       "      'languages_url': 'https://api.github.com/repos/openshift/enhancements/languages',\n",
       "      'stargazers_url': 'https://api.github.com/repos/openshift/enhancements/stargazers',\n",
       "      'contributors_url': 'https://api.github.com/repos/openshift/enhancements/contributors',\n",
       "      'subscribers_url': 'https://api.github.com/repos/openshift/enhancements/subscribers',\n",
       "      'subscription_url': 'https://api.github.com/repos/openshift/enhancements/subscription',\n",
       "      'commits_url': 'https://api.github.com/repos/openshift/enhancements/commits{/sha}',\n",
       "      'git_commits_url': 'https://api.github.com/repos/openshift/enhancements/git/commits{/sha}',\n",
       "      'comments_url': 'https://api.github.com/repos/openshift/enhancements/comments{/number}',\n",
       "      'issue_comment_url': 'https://api.github.com/repos/openshift/enhancements/issues/comments{/number}',\n",
       "      'contents_url': 'https://api.github.com/repos/openshift/enhancements/contents/{+path}',\n",
       "      'compare_url': 'https://api.github.com/repos/openshift/enhancements/compare/{base}...{head}',\n",
       "      'merges_url': 'https://api.github.com/repos/openshift/enhancements/merges',\n",
       "      'archive_url': 'https://api.github.com/repos/openshift/enhancements/{archive_format}{/ref}',\n",
       "      'downloads_url': 'https://api.github.com/repos/openshift/enhancements/downloads',\n",
       "      'issues_url': 'https://api.github.com/repos/openshift/enhancements/issues{/number}',\n",
       "      'pulls_url': 'https://api.github.com/repos/openshift/enhancements/pulls{/number}',\n",
       "      'milestones_url': 'https://api.github.com/repos/openshift/enhancements/milestones{/number}',\n",
       "      'notifications_url': 'https://api.github.com/repos/openshift/enhancements/notifications{?since,all,participating}',\n",
       "      'labels_url': 'https://api.github.com/repos/openshift/enhancements/labels{/name}',\n",
       "      'releases_url': 'https://api.github.com/repos/openshift/enhancements/releases{/id}',\n",
       "      'deployments_url': 'https://api.github.com/repos/openshift/enhancements/deployments',\n",
       "      'created_at': '2019-08-21T19:02:57Z',\n",
       "      'updated_at': '2022-01-25T15:23:05Z',\n",
       "      'pushed_at': '2022-03-10T09:44:49Z',\n",
       "      'git_url': 'git://github.com/openshift/enhancements.git',\n",
       "      'ssh_url': 'git@github.com:openshift/enhancements.git',\n",
       "      'clone_url': 'https://github.com/openshift/enhancements.git',\n",
       "      'svn_url': 'https://github.com/openshift/enhancements',\n",
       "      'homepage': None,\n",
       "      'size': 7121,\n",
       "      'stargazers_count': 121,\n",
       "      'watchers_count': 121,\n",
       "      'language': 'Go',\n",
       "      'has_issues': True,\n",
       "      'has_projects': True,\n",
       "      'has_downloads': True,\n",
       "      'has_wiki': True,\n",
       "      'has_pages': False,\n",
       "      'forks_count': 334,\n",
       "      'mirror_url': None,\n",
       "      'archived': False,\n",
       "      'disabled': False,\n",
       "      'open_issues_count': 44,\n",
       "      'license': {'key': 'apache-2.0',\n",
       "       'name': 'Apache License 2.0',\n",
       "       'spdx_id': 'Apache-2.0',\n",
       "       'url': 'https://api.github.com/licenses/apache-2.0',\n",
       "       'node_id': 'MDc6TGljZW5zZTI='},\n",
       "      'allow_forking': True,\n",
       "      'is_template': False,\n",
       "      'topics': [],\n",
       "      'visibility': 'public',\n",
       "      'forks': 334,\n",
       "      'open_issues': 44,\n",
       "      'watchers': 121,\n",
       "      'default_branch': 'master'}},\n",
       "    '_links': {'self': {'href': 'https://api.github.com/repos/openshift/enhancements/pulls/1056'},\n",
       "     'html': {'href': 'https://github.com/openshift/enhancements/pull/1056'},\n",
       "     'issue': {'href': 'https://api.github.com/repos/openshift/enhancements/issues/1056'},\n",
       "     'comments': {'href': 'https://api.github.com/repos/openshift/enhancements/issues/1056/comments'},\n",
       "     'review_comments': {'href': 'https://api.github.com/repos/openshift/enhancements/pulls/1056/comments'},\n",
       "     'review_comment': {'href': 'https://api.github.com/repos/openshift/enhancements/pulls/comments{/number}'},\n",
       "     'commits': {'href': 'https://api.github.com/repos/openshift/enhancements/pulls/1056/commits'},\n",
       "     'statuses': {'href': 'https://api.github.com/repos/openshift/enhancements/statuses/80333a250ea26ecb91a5550859d5faa102db39e5'}},\n",
       "    'author_association': 'CONTRIBUTOR',\n",
       "    'auto_merge': None,\n",
       "    'active_lock_reason': None}},\n",
       "  'public': True,\n",
       "  'created_at': '2022-03-10T10:07:19Z',\n",
       "  'org': {'id': 792337,\n",
       "   'login': 'openshift',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/orgs/openshift',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/792337?'}},\n",
       " {'id': '20676879978',\n",
       "  'type': 'CreateEvent',\n",
       "  'actor': {'id': 93673587,\n",
       "   'login': 'susannahtay',\n",
       "   'display_login': 'susannahtay',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/users/susannahtay',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/93673587?'},\n",
       "  'repo': {'id': 464520676,\n",
       "   'name': 'timhalliday/lengua_viva',\n",
       "   'url': 'https://api.github.com/repos/timhalliday/lengua_viva'},\n",
       "  'payload': {'ref': 'landing-page-subhead',\n",
       "   'ref_type': 'branch',\n",
       "   'master_branch': 'master',\n",
       "   'description': 'Final project for Le Wagon',\n",
       "   'pusher_type': 'user'},\n",
       "  'public': True,\n",
       "  'created_at': '2022-03-10T10:07:36Z'},\n",
       " {'id': '20676880216',\n",
       "  'type': 'PushEvent',\n",
       "  'actor': {'id': 53265741,\n",
       "   'login': 'happysimon123',\n",
       "   'display_login': 'happysimon123',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/users/happysimon123',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/53265741?'},\n",
       "  'repo': {'id': 300925339,\n",
       "   'name': 'happysimon123/v3proj',\n",
       "   'url': 'https://api.github.com/repos/happysimon123/v3proj'},\n",
       "  'payload': {'push_id': 9314622193,\n",
       "   'size': 1,\n",
       "   'distinct_size': 1,\n",
       "   'ref': 'refs/heads/main',\n",
       "   'head': '13b1cf0d54a66f1b90d6cb80db81e4df8cbd80f7',\n",
       "   'before': '6558c87908669b6caf9d760dead6eacbbac9e677',\n",
       "   'commits': [{'sha': '13b1cf0d54a66f1b90d6cb80db81e4df8cbd80f7',\n",
       "     'author': {'email': '53265741+happysimon123@users.noreply.github.com',\n",
       "      'name': 'happysimon123'},\n",
       "     'message': '123',\n",
       "     'distinct': True,\n",
       "     'url': 'https://api.github.com/repos/happysimon123/v3proj/commits/13b1cf0d54a66f1b90d6cb80db81e4df8cbd80f7'}]},\n",
       "  'public': True,\n",
       "  'created_at': '2022-03-10T10:07:37Z'},\n",
       " {'id': '20676880274',\n",
       "  'type': 'PushEvent',\n",
       "  'actor': {'id': 57872835,\n",
       "   'login': 'antoniocarlosdiniz8',\n",
       "   'display_login': 'antoniocarlosdiniz8',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/users/antoniocarlosdiniz8',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/57872835?'},\n",
       "  'repo': {'id': 465330111,\n",
       "   'name': 'antoniocarlosdiniz8/estudos_dart',\n",
       "   'url': 'https://api.github.com/repos/antoniocarlosdiniz8/estudos_dart'},\n",
       "  'payload': {'push_id': 9314622223,\n",
       "   'size': 1,\n",
       "   'distinct_size': 1,\n",
       "   'ref': 'refs/heads/main',\n",
       "   'head': '93798b6506796421b6ca019ed87aee04777cb00a',\n",
       "   'before': 'ab0fd5932f749b5bebbf49cf6800a89cc84801e6',\n",
       "   'commits': [{'sha': '93798b6506796421b6ca019ed87aee04777cb00a',\n",
       "     'author': {'email': '57872835+antoniocarlosdiniz8@users.noreply.github.com',\n",
       "      'name': 'antoniocarlosdiniz8'},\n",
       "     'message': 'update o ex do while',\n",
       "     'distinct': True,\n",
       "     'url': 'https://api.github.com/repos/antoniocarlosdiniz8/estudos_dart/commits/93798b6506796421b6ca019ed87aee04777cb00a'}]},\n",
       "  'public': True,\n",
       "  'created_at': '2022-03-10T10:07:37Z'},\n",
       " {'id': '20676880262',\n",
       "  'type': 'PushEvent',\n",
       "  'actor': {'id': 99247486,\n",
       "   'login': 'digitolink',\n",
       "   'display_login': 'digitolink',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/users/digitolink',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/99247486?'},\n",
       "  'repo': {'id': 468255142,\n",
       "   'name': 'digitolink/WebDomBasics',\n",
       "   'url': 'https://api.github.com/repos/digitolink/WebDomBasics'},\n",
       "  'payload': {'push_id': 9314622200,\n",
       "   'size': 1,\n",
       "   'distinct_size': 1,\n",
       "   'ref': 'refs/heads/master',\n",
       "   'head': '45677aa639d9d6b6429581bc84c437ae52f4371b',\n",
       "   'before': '14d6a3d4705ad0cd9842e6a2073228dae3f58d62',\n",
       "   'commits': [{'sha': '45677aa639d9d6b6429581bc84c437ae52f4371b',\n",
       "     'author': {'email': 'afdm@postal6.academiapostal.es.local',\n",
       "      'name': 'AFD Mañanas'},\n",
       "     'message': 'ej 3 hecho',\n",
       "     'distinct': True,\n",
       "     'url': 'https://api.github.com/repos/digitolink/WebDomBasics/commits/45677aa639d9d6b6429581bc84c437ae52f4371b'}]},\n",
       "  'public': True,\n",
       "  'created_at': '2022-03-10T10:07:37Z'},\n",
       " {'id': '20676880261',\n",
       "  'type': 'PushEvent',\n",
       "  'actor': {'id': 1259867,\n",
       "   'login': 'ChrisBeeley',\n",
       "   'display_login': 'ChrisBeeley',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/users/ChrisBeeley',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/1259867?'},\n",
       "  'repo': {'id': 320891814,\n",
       "   'name': 'CDU-data-science-team/team-blog',\n",
       "   'url': 'https://api.github.com/repos/CDU-data-science-team/team-blog'},\n",
       "  'payload': {'push_id': 9314622185,\n",
       "   'size': 1,\n",
       "   'distinct_size': 1,\n",
       "   'ref': 'refs/heads/open-source-benefit',\n",
       "   'head': '5ee5a64cc7733b1983c3c31a59b2e5f1bb771756',\n",
       "   'before': '681c5b60d650c105cf8e2db46a8fa4d8013718b8',\n",
       "   'commits': [{'sha': '5ee5a64cc7733b1983c3c31a59b2e5f1bb771756',\n",
       "     'author': {'email': 'Chris.Beeley@nottshc.nhs.uk',\n",
       "      'name': 'Beeley Chris - Senior Data Scientist'},\n",
       "     'message': 'Delete extra folder',\n",
       "     'distinct': True,\n",
       "     'url': 'https://api.github.com/repos/CDU-data-science-team/team-blog/commits/5ee5a64cc7733b1983c3c31a59b2e5f1bb771756'}]},\n",
       "  'public': True,\n",
       "  'created_at': '2022-03-10T10:07:37Z',\n",
       "  'org': {'id': 64898349,\n",
       "   'login': 'CDU-data-science-team',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/orgs/CDU-data-science-team',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/64898349?'}},\n",
       " {'id': '20676879953',\n",
       "  'type': 'PushEvent',\n",
       "  'actor': {'id': 1284625,\n",
       "   'login': 'wikp',\n",
       "   'display_login': 'wikp',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/users/wikp',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/1284625?'},\n",
       "  'repo': {'id': 35662043,\n",
       "   'name': 'allegro/hermes',\n",
       "   'url': 'https://api.github.com/repos/allegro/hermes'},\n",
       "  'payload': {'push_id': 9314622033,\n",
       "   'size': 2,\n",
       "   'distinct_size': 1,\n",
       "   'ref': 'refs/heads/pubsub-consumer-sender',\n",
       "   'head': 'cad959e629578c41c9984aacbf5628a8301e3660',\n",
       "   'before': '008d602910f65e8bf8e608741119ff74060d9cc8',\n",
       "   'commits': [{'sha': '5c7a0f23db1099378a97e51edba39534330f9e1e',\n",
       "     'author': {'email': '76775507+szczygiel-m@users.noreply.github.com',\n",
       "      'name': 'Mateusz'},\n",
       "     'message': 'Bumped json2avro converter to 0.2.13 (#1474)',\n",
       "     'distinct': False,\n",
       "     'url': 'https://api.github.com/repos/allegro/hermes/commits/5c7a0f23db1099378a97e51edba39534330f9e1e'},\n",
       "    {'sha': 'cad959e629578c41c9984aacbf5628a8301e3660',\n",
       "     'author': {'email': 'piotr.wikiel@allegro.pl', 'name': 'Piotr Wikieł'},\n",
       "     'message': \"Merge remote-tracking branch 'origin/master' into pubsub-consumer-sender\",\n",
       "     'distinct': True,\n",
       "     'url': 'https://api.github.com/repos/allegro/hermes/commits/cad959e629578c41c9984aacbf5628a8301e3660'}]},\n",
       "  'public': True,\n",
       "  'created_at': '2022-03-10T10:07:36Z',\n",
       "  'org': {'id': 562236,\n",
       "   'login': 'allegro',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/orgs/allegro',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/562236?'}},\n",
       " {'id': '20676879954',\n",
       "  'type': 'PushEvent',\n",
       "  'actor': {'id': 75613712,\n",
       "   'login': 'joyrabox6',\n",
       "   'display_login': 'joyrabox6',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/users/joyrabox6',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/75613712?'},\n",
       "  'repo': {'id': 385270491,\n",
       "   'name': 'joyrabox10/SNCpay',\n",
       "   'url': 'https://api.github.com/repos/joyrabox10/SNCpay'},\n",
       "  'payload': {'push_id': 9314622064,\n",
       "   'size': 1,\n",
       "   'distinct_size': 1,\n",
       "   'ref': 'refs/heads/master',\n",
       "   'head': '01db118d4d1ade4315f01f87d5acddf81f2a3722',\n",
       "   'before': '41d2055a55300de0a434c05a68b1b80575554a7f',\n",
       "   'commits': [{'sha': '01db118d4d1ade4315f01f87d5acddf81f2a3722',\n",
       "     'author': {'email': 'developer1@joyra.in', 'name': 'developer1@joyra.in'},\n",
       "     'message': 'update',\n",
       "     'distinct': True,\n",
       "     'url': 'https://api.github.com/repos/joyrabox10/SNCpay/commits/01db118d4d1ade4315f01f87d5acddf81f2a3722'}]},\n",
       "  'public': True,\n",
       "  'created_at': '2022-03-10T10:07:36Z'},\n",
       " {'id': '20676880273',\n",
       "  'type': 'PushEvent',\n",
       "  'actor': {'id': 18692113,\n",
       "   'login': 'cjyzwg',\n",
       "   'display_login': 'cjyzwg',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/users/cjyzwg',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/18692113?'},\n",
       "  'repo': {'id': 468286312,\n",
       "   'name': 'cjyzwg/markdown-wechat-demo',\n",
       "   'url': 'https://api.github.com/repos/cjyzwg/markdown-wechat-demo'},\n",
       "  'payload': {'push_id': 9314622222,\n",
       "   'size': 1,\n",
       "   'distinct_size': 1,\n",
       "   'ref': 'refs/heads/master',\n",
       "   'head': '672e8aaeee09eb06c96dca1f611a634f54489ce5',\n",
       "   'before': '70d8d83220d36e72789f25bc8df4e8cbe89d1ad8',\n",
       "   'commits': [{'sha': '672e8aaeee09eb06c96dca1f611a634f54489ce5',\n",
       "     'author': {'email': 'oncwnuIj9nX593ZY59VZik65lFMY@git.weixin.qq.com',\n",
       "      'name': 'cj'},\n",
       "     'message': '更新demo',\n",
       "     'distinct': True,\n",
       "     'url': 'https://api.github.com/repos/cjyzwg/markdown-wechat-demo/commits/672e8aaeee09eb06c96dca1f611a634f54489ce5'}]},\n",
       "  'public': True,\n",
       "  'created_at': '2022-03-10T10:07:37Z'},\n",
       " {'id': '20676880242',\n",
       "  'type': 'PushEvent',\n",
       "  'actor': {'id': 101326367,\n",
       "   'login': 'Uprakes',\n",
       "   'display_login': 'Uprakes',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/users/Uprakes',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/101326367?'},\n",
       "  'repo': {'id': 468287158,\n",
       "   'name': 'Uprakes/main',\n",
       "   'url': 'https://api.github.com/repos/Uprakes/main'},\n",
       "  'payload': {'push_id': 9314622205,\n",
       "   'size': 1,\n",
       "   'distinct_size': 1,\n",
       "   'ref': 'refs/heads/main',\n",
       "   'head': '2357fd10486027a3867bb50f592b197ccd031596',\n",
       "   'before': 'db079a05659b0e870629c982244473a8b4a462e7',\n",
       "   'commits': [{'sha': '2357fd10486027a3867bb50f592b197ccd031596',\n",
       "     'author': {'email': '101326367+Uprakes@users.noreply.github.com',\n",
       "      'name': 'Uprakes'},\n",
       "     'message': 'Create main.yml',\n",
       "     'distinct': True,\n",
       "     'url': 'https://api.github.com/repos/Uprakes/main/commits/2357fd10486027a3867bb50f592b197ccd031596'}]},\n",
       "  'public': True,\n",
       "  'created_at': '2022-03-10T10:07:37Z'},\n",
       " {'id': '20676879952',\n",
       "  'type': 'PushEvent',\n",
       "  'actor': {'id': 49183386,\n",
       "   'login': 'mjpernot',\n",
       "   'display_login': 'mjpernot',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/users/mjpernot',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/49183386?'},\n",
       "  'repo': {'id': 452721170,\n",
       "   'name': 'mjpernot/mongo-lib',\n",
       "   'url': 'https://api.github.com/repos/mjpernot/mongo-lib'},\n",
       "  'payload': {'push_id': 9314622048,\n",
       "   'size': 1,\n",
       "   'distinct_size': 1,\n",
       "   'ref': 'refs/heads/mod/421c1',\n",
       "   'head': '2ba0cc6e6eb3c3b03d82c5716635cae390e7ac02',\n",
       "   'before': 'c44463e637091f9583d727c6068ddccc2225afb2',\n",
       "   'commits': [{'sha': '2ba0cc6e6eb3c3b03d82c5716635cae390e7ac02',\n",
       "     'author': {'email': 'mark.pernot@gmail.com', 'name': 'Mark Pernot'},\n",
       "     'message': 'Update test/unit/mongo_class/code_coverage.sh v4.2.1',\n",
       "     'distinct': True,\n",
       "     'url': 'https://api.github.com/repos/mjpernot/mongo-lib/commits/2ba0cc6e6eb3c3b03d82c5716635cae390e7ac02'}]},\n",
       "  'public': True,\n",
       "  'created_at': '2022-03-10T10:07:36Z'},\n",
       " {'id': '20676880205',\n",
       "  'type': 'PullRequestEvent',\n",
       "  'actor': {'id': 51310067,\n",
       "   'login': 'creatorpiyush',\n",
       "   'display_login': 'creatorpiyush',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/users/creatorpiyush',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/51310067?'},\n",
       "  'repo': {'id': 271875131,\n",
       "   'name': 'creatorpiyush/fictional-carnival',\n",
       "   'url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival'},\n",
       "  'payload': {'action': 'closed',\n",
       "   'number': 51,\n",
       "   'pull_request': {'url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/pulls/51',\n",
       "    'id': 833473304,\n",
       "    'node_id': 'PR_kwDOEDR8O84xrcsY',\n",
       "    'html_url': 'https://github.com/creatorpiyush/fictional-carnival/pull/51',\n",
       "    'diff_url': 'https://github.com/creatorpiyush/fictional-carnival/pull/51.diff',\n",
       "    'patch_url': 'https://github.com/creatorpiyush/fictional-carnival/pull/51.patch',\n",
       "    'issue_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/issues/51',\n",
       "    'number': 51,\n",
       "    'state': 'closed',\n",
       "    'locked': False,\n",
       "    'title': '[Snyk] Upgrade mongoose from 5.10.2 to 5.13.14',\n",
       "    'user': {'login': 'snyk-bot',\n",
       "     'id': 19733683,\n",
       "     'node_id': 'MDQ6VXNlcjE5NzMzNjgz',\n",
       "     'avatar_url': 'https://avatars.githubusercontent.com/u/19733683?v=4',\n",
       "     'gravatar_id': '',\n",
       "     'url': 'https://api.github.com/users/snyk-bot',\n",
       "     'html_url': 'https://github.com/snyk-bot',\n",
       "     'followers_url': 'https://api.github.com/users/snyk-bot/followers',\n",
       "     'following_url': 'https://api.github.com/users/snyk-bot/following{/other_user}',\n",
       "     'gists_url': 'https://api.github.com/users/snyk-bot/gists{/gist_id}',\n",
       "     'starred_url': 'https://api.github.com/users/snyk-bot/starred{/owner}{/repo}',\n",
       "     'subscriptions_url': 'https://api.github.com/users/snyk-bot/subscriptions',\n",
       "     'organizations_url': 'https://api.github.com/users/snyk-bot/orgs',\n",
       "     'repos_url': 'https://api.github.com/users/snyk-bot/repos',\n",
       "     'events_url': 'https://api.github.com/users/snyk-bot/events{/privacy}',\n",
       "     'received_events_url': 'https://api.github.com/users/snyk-bot/received_events',\n",
       "     'type': 'User',\n",
       "     'site_admin': False},\n",
       "    'body': '<h3>Snyk has created this PR to upgrade mongoose from 5.10.2 to 5.13.14.</h3>\\n\\n![merge advice](https://app.snyk.io/badges/merge-advice/?package_manager=npm&package_name=mongoose&from_version=5.10.2&to_version=5.13.14&pr_id=577483fb-1979-41bd-92b8-ebfceb6dddb3&visibility=true&has_feature_flag=false)\\n:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.\\n<hr/>\\n\\n- The recommended version is **69 versions** ahead of your current version.\\n- The recommended version was released **a month ago**, on 2021-12-27.\\n\\nThe recommended version fixes:\\n\\nSeverity                   | Issue                | PriorityScore (*)                 | Exploit Maturity |\\n:-------------------------:|:-------------------------|-------------------------|:-------------------------\\n<img src=\"https://res.cloudinary.com/snyk/image/upload/w_20,h_20/v1561977819/icon/h.png\" width=\"20\" height=\"20\" title=\"high severity\"/>  | Prototype Pollution<br/> [SNYK-JS-MQUERY-1089718](https://snyk.io/vuln/SNYK-JS-MQUERY-1089718) | **696/1000**  <br/> **Why?** Proof of Concept exploit, Has a fix available, CVSS 7.5  | Proof of Concept \\n<img src=\"https://res.cloudinary.com/snyk/image/upload/w_20,h_20/v1561977819/icon/h.png\" width=\"20\" height=\"20\" title=\"high severity\"/>  | Prototype Pollution<br/> [SNYK-JS-MQUERY-1050858](https://snyk.io/vuln/SNYK-JS-MQUERY-1050858) | **696/1000**  <br/> **Why?** Proof of Concept exploit, Has a fix available, CVSS 7.5  | Proof of Concept \\n<img src=\"https://res.cloudinary.com/snyk/image/upload/w_20,h_20/v1561977819/icon/m.png\" width=\"20\" height=\"20\" title=\"medium severity\"/>  | Prototype Pollution<br/> [SNYK-JS-MPATH-1577289](https://snyk.io/vuln/SNYK-JS-MPATH-1577289) | **696/1000**  <br/> **Why?** Proof of Concept exploit, Has a fix available, CVSS 7.5  | Proof of Concept \\n<img src=\"https://res.cloudinary.com/snyk/image/upload/w_20,h_20/v1561977819/icon/m.png\" width=\"20\" height=\"20\" title=\"medium severity\"/>  | Prototype Pollution<br/> [SNYK-JS-MONGOOSE-1086688](https://snyk.io/vuln/SNYK-JS-MONGOOSE-1086688) | **696/1000**  <br/> **Why?** Proof of Concept exploit, Has a fix available, CVSS 7.5  | Proof of Concept \\n\\n(*) Note that the real score may have changed since the PR was raised.\\n\\n\\n<details>\\n<summary><b>Release notes</b></summary>\\n<br/>\\n  <details>\\n    <summary>Package name: <b>mongoose</b></summary>\\n    <ul>\\n      <li>\\n        <b>5.13.14</b> - <a href=\"https://snyk.io/redirect/github/Automattic/mongoose/releases/tag/5.13.14\">2021-12-27</a></br><p>chore: release 5.13.14</p>\\n      </li>\\n      <li>\\n        <b>5.13.13</b> - 2021-11-02\\n      </li>\\n      <li>\\n        <b>5.13.12</b> - 2021-10-19\\n      </li>\\n      <li>\\n        <b>5.13.11</b> - 2021-10-12\\n      </li>\\n      <li>\\n        <b>5.13.10</b> - 2021-10-05\\n      </li>\\n      <li>\\n        <b>5.13.9</b> - 2021-09-06\\n      </li>\\n      <li>\\n        <b>5.13.8</b> - 2021-08-23\\n      </li>\\n      <li>\\n        <b>5.13.7</b> - 2021-08-11\\n      </li>\\n      <li>\\n        <b>5.13.6</b> - 2021-08-09\\n      </li>\\n      <li>\\n        <b>5.13.5</b> - 2021-07-30\\n      </li>\\n      <li>\\n        <b>5.13.4</b> - 2021-07-28\\n      </li>\\n      <li>\\n        <b>5.13.3</b> - 2021-07-16\\n      </li>\\n      <li>\\n        <b>5.13.2</b> - 2021-07-03\\n      </li>\\n      <li>\\n        <b>5.13.1</b> - 2021-07-02\\n      </li>\\n      <li>\\n        <b>5.13.0</b> - 2021-06-28\\n      </li>\\n      <li>\\n        <b>5.12.15</b> - 2021-06-25\\n      </li>\\n      <li>\\n        <b>5.12.14</b> - 2021-06-15\\n      </li>\\n      <li>\\n        <b>5.12.13</b> - 2021-06-04\\n      </li>\\n      <li>\\n        <b>5.12.12</b> - 2021-05-28\\n      </li>\\n      <li>\\n        <b>5.12.11</b> - 2021-05-24\\n      </li>\\n      <li>\\n        <b>5.12.10</b> - 2021-05-18\\n      </li>\\n      <li>\\n        <b>5.12.9</b> - 2021-05-13\\n      </li>\\n      <li>\\n        <b>5.12.8</b> - 2021-05-10\\n      </li>\\n      <li>\\n        <b>5.12.7</b> - 2021-04-29\\n      </li>\\n      <li>\\n        <b>5.12.6</b> - 2021-04-27\\n      </li>\\n      <li>\\n        <b>5.12.5</b> - 2021-04-19\\n      </li>\\n      <li>\\n        <b>5.12.4</b> - 2021-04-15\\n      </li>\\n      <li>\\n        <b>5.12.3</b> - 2021-03-31\\n      </li>\\n      <li>\\n        <b>5.12.2</b> - 2021-03-22\\n      </li>\\n      <li>\\n        <b>5.12.1</b> - 2021-03-18\\n      </li>\\n      <li>\\n        <b>5.12.0</b> - 2021-03-11\\n      </li>\\n      <li>\\n        <b>5.11.20</b> - 2021-03-11\\n      </li>\\n      <li>\\n        <b>5.11.19</b> - 2021-03-05\\n      </li>\\n      <li>\\n        <b>5.11.18</b> - 2021-02-23\\n      </li>\\n      <li>\\n        <b>5.11.17</b> - 2021-02-17\\n      </li>\\n      <li>\\n        <b>5.11.16</b> - 2021-02-12\\n      </li>\\n      <li>\\n        <b>5.11.15</b> - 2021-02-03\\n      </li>\\n      <li>\\n        <b>5.11.14</b> - 2021-01-28\\n      </li>\\n      <li>\\n        <b>5.11.13</b> - 2021-01-20\\n      </li>\\n      <li>\\n        <b>5.11.12</b> - 2021-01-14\\n      </li>\\n      <li>\\n        <b>5.11.11</b> - 2021-01-08\\n      </li>\\n      <li>\\n        <b>5.11.10</b> - 2021-01-04\\n      </li>\\n      <li>\\n        <b>5.11.9</b> - 2020-12-28\\n      </li>\\n      <li>\\n        <b>5.11.8</b> - 2020-12-14\\n      </li>\\n      <li>\\n        <b>5.11.7</b> - 2020-12-10\\n      </li>\\n      <li>\\n        <b>5.11.6</b> - 2020-12-09\\n      </li>\\n      <li>\\n        <b>5.11.5</b> - 2020-12-07\\n      </li>\\n      <li>\\n        <b>5.11.4</b> - 2020-12-04\\n      </li>\\n      <li>\\n        <b>5.11.3</b> - 2020-12-03\\n      </li>\\n      <li>\\n        <b>5.11.2</b> - 2020-12-02\\n      </li>\\n      <li>\\n        <b>5.11.1</b> - 2020-12-01\\n      </li>\\n      <li>\\n        <b>5.11.0</b> - 2020-11-30\\n      </li>\\n      <li>\\n        <b>5.10.19</b> - 2020-11-30\\n      </li>\\n      <li>\\n        <b>5.10.18</b> - 2020-11-29\\n      </li>\\n      <li>\\n        <b>5.10.17</b> - 2020-11-27\\n      </li>\\n      <li>\\n        <b>5.10.16</b> - 2020-11-25\\n      </li>\\n      <li>\\n        <b>5.10.15</b> - 2020-11-16\\n      </li>\\n      <li>\\n        <b>5.10.14</b> - 2020-11-12\\n      </li>\\n      <li>\\n        <b>5.10.13</b> - 2020-11-06\\n      </li>\\n      <li>\\n        <b>5.10.12</b> - 2020-11-04\\n      </li>\\n      <li>\\n        <b>5.10.11</b> - 2020-10-26\\n      </li>\\n      <li>\\n        <b>5.10.10</b> - 2020-10-23\\n      </li>\\n      <li>\\n        <b>5.10.9</b> - 2020-10-09\\n      </li>\\n      <li>\\n        <b>5.10.8</b> - 2020-10-05\\n      </li>\\n      <li>\\n        <b>5.10.7</b> - 2020-09-24\\n      </li>\\n      <li>\\n        <b>5.10.6</b> - 2020-09-18\\n      </li>\\n      <li>\\n        <b>5.10.5</b> - 2020-09-11\\n      </li>\\n      <li>\\n        <b>5.10.4</b> - 2020-09-09\\n      </li>\\n      <li>\\n        <b>5.10.3</b> - 2020-09-03\\n      </li>\\n      <li>\\n        <b>5.10.2</b> - 2020-08-28\\n      </li>\\n    </ul>\\n    from <a href=\"https://snyk.io/redirect/github/Automattic/mongoose/releases\">mongoose GitHub release notes</a>\\n  </details>\\n</details>\\n\\n\\n<details>\\n  <summary><b>Commit messages</b></summary>\\n  </br>\\n  <details>\\n    <summary>Package name: <b>mongoose</b></summary>\\n    <ul>\\n      <li><a href=\"https://snyk.io/redirect/github/Automattic/mongoose/commit/d2b846fc8f850a82605b74148854a79769f7019b\">d2b846f</a> chore: release 5.13.14</li>\\n      <li><a href=\"https://snyk.io/redirect/github/Automattic/mongoose/commit/69c1f6c1429d2be5fdc625d4ba90bd332dc217ca\">69c1f6c</a> docs(models): fix up nModified example for 5.x</li>\\n      <li><a href=\"https://snyk.io/redirect/github/Automattic/mongoose/commit/4cfc4d61530446c0d25f231e3b8358776fbe7a6f\">4cfc4d6</a> fix(timestamps): avoid setting &#x60;createdAt&#x60; on documents that already exist but dont have createdAt</li>\\n      <li><a href=\"https://snyk.io/redirect/github/Automattic/mongoose/commit/a7384400a7df87ef258fe596d151f9a82b12b32a\">a738440</a> chore: release 5.13.13</li>\\n      <li><a href=\"https://snyk.io/redirect/github/Automattic/mongoose/commit/4d12a621ff95c3e7b3f835dcbea8e91425464aaf\">4d12a62</a> Merge pull request #10942 from jneal-afs/fix-query-set-ts-type</li>\\n      <li><a href=\"https://snyk.io/redirect/github/Automattic/mongoose/commit/c3463c4d83cfd62f67b9c637266ce93e8fc6da97\">c3463c4</a> Merge pull request #10916 from iovanom/gh-10902-v5</li>\\n      <li><a href=\"https://snyk.io/redirect/github/Automattic/mongoose/commit/ff5ddb530b1378926b5753f58a566fae00b3c419\">ff5ddb5</a> fix: hardcode base 10 for nodeMajorVersion parseInt() call</li>\\n      <li><a href=\"https://snyk.io/redirect/github/Automattic/mongoose/commit/d205c4d8a3560dd432eace40a0a5acf913726dd2\">d205c4d</a> make value optional</li>\\n      <li><a href=\"https://snyk.io/redirect/github/Automattic/mongoose/commit/c6fd7f780a626535cddd3454b6f2a621ffb397a5\">c6fd7f7</a> Fix ts types for query set</li>\\n      <li><a href=\"https://snyk.io/redirect/github/Automattic/mongoose/commit/22e9b3b15edfc94169a291019a9d760ff755cda3\">22e9b3b</a> [gh-10902 v5] Add node major version to utils</li>\\n      <li><a href=\"https://snyk.io/redirect/github/Automattic/mongoose/commit/5468642ed2f8ebe5032e91a362f6ab4dafee9139\">5468642</a> [gh-10902 v5] Emit end event in before close</li>\\n      <li><a href=\"https://snyk.io/redirect/github/Automattic/mongoose/commit/271bc60eecac064171de4cd24cc82cdc0b380ca5\">271bc60</a> Merge pull request #10910 from lorand-horvath/patch-2</li>\\n      <li><a href=\"https://snyk.io/redirect/github/Automattic/mongoose/commit/b7ebeecbf670ac6efd9b01f8ae1ff8f70c4fbd1d\">b7ebeec</a> Update mongodb driver to 3.7.3</li>\\n      <li><a href=\"https://snyk.io/redirect/github/Automattic/mongoose/commit/ec4f07ee78b31befc30a9d101b143013f32dc02e\">ec4f07e</a> chore: release 5.13.12</li>\\n      <li><a href=\"https://snyk.io/redirect/github/Automattic/mongoose/commit/7b4e4e7a93e87ab54cf9931a9a50cfcf8a7cb10a\">7b4e4e7</a> test: hopefully fix Node v4 tests on 5.x branch</li>\\n      <li><a href=\"https://snyk.io/redirect/github/Automattic/mongoose/commit/92bfcb71ba59d19524ffff900fefcf32a3c42350\">92bfcb7</a> Merge pull request #10897 from iovanom/gh-10875-1</li>\\n      <li><a href=\"https://snyk.io/redirect/github/Automattic/mongoose/commit/46165d6c720967c15586f2b42df51663db5e677a\">46165d6</a> [gh-10875] Use stream destroy method on close to prevent emit &#x27;close&#x27; event twice</li>\\n      <li><a href=\"https://snyk.io/redirect/github/Automattic/mongoose/commit/f1376f35296403e8e72f1f1d79c2fdf1d3feac67\">f1376f3</a> fix(index.d.ts): backport streamlining of FilterQuery and DocumentDefinition to avoid &quot;excessively deep and possibly infinite&quot; TS errors</li>\\n      <li><a href=\"https://snyk.io/redirect/github/Automattic/mongoose/commit/4b8e0d125aa031ab8ebe12fafde76443c732190d\">4b8e0d1</a> chore: release 5.13.11</li>\\n      <li><a href=\"https://snyk.io/redirect/github/Automattic/mongoose/commit/f516c7f8427d66f021b7d43f7d75f7684aac876c\">f516c7f</a> Merge pull request #10871 from winstonralph/fix/mongodb-security</li>\\n      <li><a href=\"https://snyk.io/redirect/github/Automattic/mongoose/commit/8dd66ca7a7ff8fabd837dd3efca00f6f93c4d7f1\">8dd66ca</a> chore: undo mistaken version bump</li>\\n      <li><a href=\"https://snyk.io/redirect/github/Automattic/mongoose/commit/1192162c790d0474a4c31b6030a11a3de30efe01\">1192162</a> fix(security): updated mongodb dependency due to vulnerabilities</li>\\n      <li><a href=\"https://snyk.io/redirect/github/Automattic/mongoose/commit/30efc3999373085870e7a53b755969b72c40a647\">30efc39</a> fix(connection): call &#x60;setMaxListeners(0)&#x60; on MongoClient to avoid event emitter memory leak warnings with &#x60;useDb()&#x60;</li>\\n      <li><a href=\"https://snyk.io/redirect/github/Automattic/mongoose/commit/d99f42cc34f25ed7e5b723d5cba9bb2caaaa62e2\">d99f42c</a> chore: release 5.13.10</li>\\n    </ul>\\n\\n   <a href=\"https://snyk.io/redirect/github/Automattic/mongoose/compare/cc32a0edb2b18a411c9e0cf71589a3ec3c67ca17...d2b846fc8f850a82605b74148854a79769f7019b\">Compare</a>\\n  </details>\\n</details>\\n<hr/>\\n\\n**Note:** *You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.*\\n\\nFor more information:  <img src=\"https://api.segment.io/v1/pixel/track?data=eyJ3cml0ZUtleSI6InJyWmxZcEdHY2RyTHZsb0lYd0dUcVg4WkFRTnNCOUEwIiwiYW5vbnltb3VzSWQiOiI1Nzc0ODNmYi0xOTc5LTQxYmQtOTJiOC1lYmZjZWI2ZGRkYjMiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6IjU3NzQ4M2ZiLTE5NzktNDFiZC05MmI4LWViZmNlYjZkZGRiMyJ9fQ==\" width=\"0\" height=\"0\"/>\\n\\n🧐 [View latest project report](https://app.snyk.io/org/creatorpiyush/project/655b662f-5509-4f67-9d98-806348af835e?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)\\n\\n🛠 [Adjust upgrade PR settings](https://app.snyk.io/org/creatorpiyush/project/655b662f-5509-4f67-9d98-806348af835e/settings/integration?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)\\n\\n🔕 [Ignore this dependency or unsubscribe from future upgrade PRs](https://app.snyk.io/org/creatorpiyush/project/655b662f-5509-4f67-9d98-806348af835e/settings/integration?pkg&#x3D;mongoose&amp;utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr#auto-dep-upgrades)\\n\\n<!--- (snyk:metadata:{\"prId\":\"577483fb-1979-41bd-92b8-ebfceb6dddb3\",\"prPublicId\":\"577483fb-1979-41bd-92b8-ebfceb6dddb3\",\"dependencies\":[{\"name\":\"mongoose\",\"from\":\"5.10.2\",\"to\":\"5.13.14\"}],\"packageManager\":\"npm\",\"type\":\"auto\",\"projectUrl\":\"https://app.snyk.io/org/creatorpiyush/project/655b662f-5509-4f67-9d98-806348af835e?utm_source=github&utm_medium=referral&page=upgrade-pr\",\"projectPublicId\":\"655b662f-5509-4f67-9d98-806348af835e\",\"env\":\"prod\",\"prType\":\"upgrade\",\"vulns\":[\"SNYK-JS-MQUERY-1089718\",\"SNYK-JS-MQUERY-1050858\",\"SNYK-JS-MPATH-1577289\",\"SNYK-JS-MONGOOSE-1086688\"],\"issuesToFix\":[{\"issueId\":\"SNYK-JS-MQUERY-1089718\",\"severity\":\"high\",\"title\":\"Prototype Pollution\",\"exploitMaturity\":\"proof-of-concept\",\"priorityScore\":696,\"priorityScoreFactors\":[{\"type\":\"exploit\",\"label\":\"Proof of Concept\",\"score\":107},{\"type\":\"fixability\",\"label\":true,\"score\":214},{\"type\":\"cvssScore\",\"label\":\"7.5\",\"score\":375}]},{\"issueId\":\"SNYK-JS-MQUERY-1050858\",\"severity\":\"high\",\"title\":\"Prototype Pollution\",\"exploitMaturity\":\"proof-of-concept\",\"priorityScore\":686,\"priorityScoreFactors\":[{\"type\":\"exploit\",\"label\":\"Proof of Concept\",\"score\":107},{\"type\":\"fixability\",\"label\":true,\"score\":214},{\"type\":\"cvssScore\",\"label\":\"7.3\",\"score\":365}]},{\"issueId\":\"SNYK-JS-MPATH-1577289\",\"severity\":\"medium\",\"title\":\"Prototype Pollution\",\"exploitMaturity\":\"proof-of-concept\",\"priorityScore\":601,\"priorityScoreFactors\":[{\"type\":\"exploit\",\"label\":\"Proof of Concept\",\"score\":107},{\"type\":\"fixability\",\"label\":true,\"score\":214},{\"type\":\"cvssScore\",\"label\":\"5.6\",\"score\":280}]},{\"issueId\":\"SNYK-JS-MONGOOSE-1086688\",\"severity\":\"medium\",\"title\":\"Prototype Pollution\",\"exploitMaturity\":\"proof-of-concept\",\"priorityScore\":601,\"priorityScoreFactors\":[{\"type\":\"exploit\",\"label\":\"Proof of Concept\",\"score\":107},{\"type\":\"fixability\",\"label\":true,\"score\":214},{\"type\":\"cvssScore\",\"label\":\"5.6\",\"score\":280}]}],\"upgrade\":[\"SNYK-JS-MQUERY-1089718\",\"SNYK-JS-MQUERY-1050858\",\"SNYK-JS-MPATH-1577289\",\"SNYK-JS-MONGOOSE-1086688\"],\"upgradeInfo\":{\"versionsDiff\":69,\"publishedDate\":\"2021-12-27T17:58:20.565Z\"},\"templateVariants\":[\"merge-advice-badge-shown\",\"priorityScore\"],\"hasFixes\":true,\"isMajorUpgrade\":false,\"isBreakingChange\":false,\"priorityScoreList\":[696,686,601,601]}) --->\\n',\n",
       "    'created_at': '2022-01-27T14:21:18Z',\n",
       "    'updated_at': '2022-03-10T10:07:36Z',\n",
       "    'closed_at': '2022-03-10T10:07:36Z',\n",
       "    'merged_at': None,\n",
       "    'merge_commit_sha': '472a869cc9ebeea67137ba0d2027c0f3384a9566',\n",
       "    'assignee': None,\n",
       "    'assignees': [],\n",
       "    'requested_reviewers': [],\n",
       "    'requested_teams': [],\n",
       "    'labels': [],\n",
       "    'milestone': None,\n",
       "    'draft': False,\n",
       "    'commits_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/pulls/51/commits',\n",
       "    'review_comments_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/pulls/51/comments',\n",
       "    'review_comment_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/pulls/comments{/number}',\n",
       "    'comments_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/issues/51/comments',\n",
       "    'statuses_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/statuses/6c744d101182030723eb3a188d379c23c78e971f',\n",
       "    'head': {'label': 'creatorpiyush:snyk-upgrade-2c888d3cbf815ffb6e639094fb027ad2',\n",
       "     'ref': 'snyk-upgrade-2c888d3cbf815ffb6e639094fb027ad2',\n",
       "     'sha': '6c744d101182030723eb3a188d379c23c78e971f',\n",
       "     'user': {'login': 'creatorpiyush',\n",
       "      'id': 51310067,\n",
       "      'node_id': 'MDQ6VXNlcjUxMzEwMDY3',\n",
       "      'avatar_url': 'https://avatars.githubusercontent.com/u/51310067?v=4',\n",
       "      'gravatar_id': '',\n",
       "      'url': 'https://api.github.com/users/creatorpiyush',\n",
       "      'html_url': 'https://github.com/creatorpiyush',\n",
       "      'followers_url': 'https://api.github.com/users/creatorpiyush/followers',\n",
       "      'following_url': 'https://api.github.com/users/creatorpiyush/following{/other_user}',\n",
       "      'gists_url': 'https://api.github.com/users/creatorpiyush/gists{/gist_id}',\n",
       "      'starred_url': 'https://api.github.com/users/creatorpiyush/starred{/owner}{/repo}',\n",
       "      'subscriptions_url': 'https://api.github.com/users/creatorpiyush/subscriptions',\n",
       "      'organizations_url': 'https://api.github.com/users/creatorpiyush/orgs',\n",
       "      'repos_url': 'https://api.github.com/users/creatorpiyush/repos',\n",
       "      'events_url': 'https://api.github.com/users/creatorpiyush/events{/privacy}',\n",
       "      'received_events_url': 'https://api.github.com/users/creatorpiyush/received_events',\n",
       "      'type': 'User',\n",
       "      'site_admin': False},\n",
       "     'repo': {'id': 271875131,\n",
       "      'node_id': 'MDEwOlJlcG9zaXRvcnkyNzE4NzUxMzE=',\n",
       "      'name': 'fictional-carnival',\n",
       "      'full_name': 'creatorpiyush/fictional-carnival',\n",
       "      'private': False,\n",
       "      'owner': {'login': 'creatorpiyush',\n",
       "       'id': 51310067,\n",
       "       'node_id': 'MDQ6VXNlcjUxMzEwMDY3',\n",
       "       'avatar_url': 'https://avatars.githubusercontent.com/u/51310067?v=4',\n",
       "       'gravatar_id': '',\n",
       "       'url': 'https://api.github.com/users/creatorpiyush',\n",
       "       'html_url': 'https://github.com/creatorpiyush',\n",
       "       'followers_url': 'https://api.github.com/users/creatorpiyush/followers',\n",
       "       'following_url': 'https://api.github.com/users/creatorpiyush/following{/other_user}',\n",
       "       'gists_url': 'https://api.github.com/users/creatorpiyush/gists{/gist_id}',\n",
       "       'starred_url': 'https://api.github.com/users/creatorpiyush/starred{/owner}{/repo}',\n",
       "       'subscriptions_url': 'https://api.github.com/users/creatorpiyush/subscriptions',\n",
       "       'organizations_url': 'https://api.github.com/users/creatorpiyush/orgs',\n",
       "       'repos_url': 'https://api.github.com/users/creatorpiyush/repos',\n",
       "       'events_url': 'https://api.github.com/users/creatorpiyush/events{/privacy}',\n",
       "       'received_events_url': 'https://api.github.com/users/creatorpiyush/received_events',\n",
       "       'type': 'User',\n",
       "       'site_admin': False},\n",
       "      'html_url': 'https://github.com/creatorpiyush/fictional-carnival',\n",
       "      'description': None,\n",
       "      'fork': False,\n",
       "      'url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival',\n",
       "      'forks_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/forks',\n",
       "      'keys_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/keys{/key_id}',\n",
       "      'collaborators_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/collaborators{/collaborator}',\n",
       "      'teams_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/teams',\n",
       "      'hooks_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/hooks',\n",
       "      'issue_events_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/issues/events{/number}',\n",
       "      'events_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/events',\n",
       "      'assignees_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/assignees{/user}',\n",
       "      'branches_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/branches{/branch}',\n",
       "      'tags_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/tags',\n",
       "      'blobs_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/git/blobs{/sha}',\n",
       "      'git_tags_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/git/tags{/sha}',\n",
       "      'git_refs_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/git/refs{/sha}',\n",
       "      'trees_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/git/trees{/sha}',\n",
       "      'statuses_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/statuses/{sha}',\n",
       "      'languages_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/languages',\n",
       "      'stargazers_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/stargazers',\n",
       "      'contributors_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/contributors',\n",
       "      'subscribers_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/subscribers',\n",
       "      'subscription_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/subscription',\n",
       "      'commits_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/commits{/sha}',\n",
       "      'git_commits_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/git/commits{/sha}',\n",
       "      'comments_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/comments{/number}',\n",
       "      'issue_comment_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/issues/comments{/number}',\n",
       "      'contents_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/contents/{+path}',\n",
       "      'compare_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/compare/{base}...{head}',\n",
       "      'merges_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/merges',\n",
       "      'archive_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/{archive_format}{/ref}',\n",
       "      'downloads_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/downloads',\n",
       "      'issues_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/issues{/number}',\n",
       "      'pulls_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/pulls{/number}',\n",
       "      'milestones_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/milestones{/number}',\n",
       "      'notifications_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/notifications{?since,all,participating}',\n",
       "      'labels_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/labels{/name}',\n",
       "      'releases_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/releases{/id}',\n",
       "      'deployments_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/deployments',\n",
       "      'created_at': '2020-06-12T19:28:45Z',\n",
       "      'updated_at': '2021-06-09T14:32:15Z',\n",
       "      'pushed_at': '2022-02-13T16:33:30Z',\n",
       "      'git_url': 'git://github.com/creatorpiyush/fictional-carnival.git',\n",
       "      'ssh_url': 'git@github.com:creatorpiyush/fictional-carnival.git',\n",
       "      'clone_url': 'https://github.com/creatorpiyush/fictional-carnival.git',\n",
       "      'svn_url': 'https://github.com/creatorpiyush/fictional-carnival',\n",
       "      'homepage': None,\n",
       "      'size': 5243,\n",
       "      'stargazers_count': 1,\n",
       "      'watchers_count': 1,\n",
       "      'language': 'JavaScript',\n",
       "      'has_issues': True,\n",
       "      'has_projects': True,\n",
       "      'has_downloads': True,\n",
       "      'has_wiki': True,\n",
       "      'has_pages': False,\n",
       "      'forks_count': 0,\n",
       "      'mirror_url': None,\n",
       "      'archived': False,\n",
       "      'disabled': False,\n",
       "      'open_issues_count': 45,\n",
       "      'license': None,\n",
       "      'allow_forking': True,\n",
       "      'is_template': False,\n",
       "      'topics': [],\n",
       "      'visibility': 'public',\n",
       "      'forks': 0,\n",
       "      'open_issues': 45,\n",
       "      'watchers': 1,\n",
       "      'default_branch': 'master'}},\n",
       "    'base': {'label': 'creatorpiyush:master',\n",
       "     'ref': 'master',\n",
       "     'sha': 'f5107e8d828323eb0fd1ae2626ce1f6d785ef368',\n",
       "     'user': {'login': 'creatorpiyush',\n",
       "      'id': 51310067,\n",
       "      'node_id': 'MDQ6VXNlcjUxMzEwMDY3',\n",
       "      'avatar_url': 'https://avatars.githubusercontent.com/u/51310067?v=4',\n",
       "      'gravatar_id': '',\n",
       "      'url': 'https://api.github.com/users/creatorpiyush',\n",
       "      'html_url': 'https://github.com/creatorpiyush',\n",
       "      'followers_url': 'https://api.github.com/users/creatorpiyush/followers',\n",
       "      'following_url': 'https://api.github.com/users/creatorpiyush/following{/other_user}',\n",
       "      'gists_url': 'https://api.github.com/users/creatorpiyush/gists{/gist_id}',\n",
       "      'starred_url': 'https://api.github.com/users/creatorpiyush/starred{/owner}{/repo}',\n",
       "      'subscriptions_url': 'https://api.github.com/users/creatorpiyush/subscriptions',\n",
       "      'organizations_url': 'https://api.github.com/users/creatorpiyush/orgs',\n",
       "      'repos_url': 'https://api.github.com/users/creatorpiyush/repos',\n",
       "      'events_url': 'https://api.github.com/users/creatorpiyush/events{/privacy}',\n",
       "      'received_events_url': 'https://api.github.com/users/creatorpiyush/received_events',\n",
       "      'type': 'User',\n",
       "      'site_admin': False},\n",
       "     'repo': {'id': 271875131,\n",
       "      'node_id': 'MDEwOlJlcG9zaXRvcnkyNzE4NzUxMzE=',\n",
       "      'name': 'fictional-carnival',\n",
       "      'full_name': 'creatorpiyush/fictional-carnival',\n",
       "      'private': False,\n",
       "      'owner': {'login': 'creatorpiyush',\n",
       "       'id': 51310067,\n",
       "       'node_id': 'MDQ6VXNlcjUxMzEwMDY3',\n",
       "       'avatar_url': 'https://avatars.githubusercontent.com/u/51310067?v=4',\n",
       "       'gravatar_id': '',\n",
       "       'url': 'https://api.github.com/users/creatorpiyush',\n",
       "       'html_url': 'https://github.com/creatorpiyush',\n",
       "       'followers_url': 'https://api.github.com/users/creatorpiyush/followers',\n",
       "       'following_url': 'https://api.github.com/users/creatorpiyush/following{/other_user}',\n",
       "       'gists_url': 'https://api.github.com/users/creatorpiyush/gists{/gist_id}',\n",
       "       'starred_url': 'https://api.github.com/users/creatorpiyush/starred{/owner}{/repo}',\n",
       "       'subscriptions_url': 'https://api.github.com/users/creatorpiyush/subscriptions',\n",
       "       'organizations_url': 'https://api.github.com/users/creatorpiyush/orgs',\n",
       "       'repos_url': 'https://api.github.com/users/creatorpiyush/repos',\n",
       "       'events_url': 'https://api.github.com/users/creatorpiyush/events{/privacy}',\n",
       "       'received_events_url': 'https://api.github.com/users/creatorpiyush/received_events',\n",
       "       'type': 'User',\n",
       "       'site_admin': False},\n",
       "      'html_url': 'https://github.com/creatorpiyush/fictional-carnival',\n",
       "      'description': None,\n",
       "      'fork': False,\n",
       "      'url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival',\n",
       "      'forks_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/forks',\n",
       "      'keys_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/keys{/key_id}',\n",
       "      'collaborators_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/collaborators{/collaborator}',\n",
       "      'teams_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/teams',\n",
       "      'hooks_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/hooks',\n",
       "      'issue_events_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/issues/events{/number}',\n",
       "      'events_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/events',\n",
       "      'assignees_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/assignees{/user}',\n",
       "      'branches_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/branches{/branch}',\n",
       "      'tags_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/tags',\n",
       "      'blobs_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/git/blobs{/sha}',\n",
       "      'git_tags_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/git/tags{/sha}',\n",
       "      'git_refs_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/git/refs{/sha}',\n",
       "      'trees_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/git/trees{/sha}',\n",
       "      'statuses_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/statuses/{sha}',\n",
       "      'languages_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/languages',\n",
       "      'stargazers_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/stargazers',\n",
       "      'contributors_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/contributors',\n",
       "      'subscribers_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/subscribers',\n",
       "      'subscription_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/subscription',\n",
       "      'commits_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/commits{/sha}',\n",
       "      'git_commits_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/git/commits{/sha}',\n",
       "      'comments_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/comments{/number}',\n",
       "      'issue_comment_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/issues/comments{/number}',\n",
       "      'contents_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/contents/{+path}',\n",
       "      'compare_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/compare/{base}...{head}',\n",
       "      'merges_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/merges',\n",
       "      'archive_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/{archive_format}{/ref}',\n",
       "      'downloads_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/downloads',\n",
       "      'issues_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/issues{/number}',\n",
       "      'pulls_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/pulls{/number}',\n",
       "      'milestones_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/milestones{/number}',\n",
       "      'notifications_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/notifications{?since,all,participating}',\n",
       "      'labels_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/labels{/name}',\n",
       "      'releases_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/releases{/id}',\n",
       "      'deployments_url': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/deployments',\n",
       "      'created_at': '2020-06-12T19:28:45Z',\n",
       "      'updated_at': '2021-06-09T14:32:15Z',\n",
       "      'pushed_at': '2022-02-13T16:33:30Z',\n",
       "      'git_url': 'git://github.com/creatorpiyush/fictional-carnival.git',\n",
       "      'ssh_url': 'git@github.com:creatorpiyush/fictional-carnival.git',\n",
       "      'clone_url': 'https://github.com/creatorpiyush/fictional-carnival.git',\n",
       "      'svn_url': 'https://github.com/creatorpiyush/fictional-carnival',\n",
       "      'homepage': None,\n",
       "      'size': 5243,\n",
       "      'stargazers_count': 1,\n",
       "      'watchers_count': 1,\n",
       "      'language': 'JavaScript',\n",
       "      'has_issues': True,\n",
       "      'has_projects': True,\n",
       "      'has_downloads': True,\n",
       "      'has_wiki': True,\n",
       "      'has_pages': False,\n",
       "      'forks_count': 0,\n",
       "      'mirror_url': None,\n",
       "      'archived': False,\n",
       "      'disabled': False,\n",
       "      'open_issues_count': 45,\n",
       "      'license': None,\n",
       "      'allow_forking': True,\n",
       "      'is_template': False,\n",
       "      'topics': [],\n",
       "      'visibility': 'public',\n",
       "      'forks': 0,\n",
       "      'open_issues': 45,\n",
       "      'watchers': 1,\n",
       "      'default_branch': 'master'}},\n",
       "    '_links': {'self': {'href': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/pulls/51'},\n",
       "     'html': {'href': 'https://github.com/creatorpiyush/fictional-carnival/pull/51'},\n",
       "     'issue': {'href': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/issues/51'},\n",
       "     'comments': {'href': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/issues/51/comments'},\n",
       "     'review_comments': {'href': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/pulls/51/comments'},\n",
       "     'review_comment': {'href': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/pulls/comments{/number}'},\n",
       "     'commits': {'href': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/pulls/51/commits'},\n",
       "     'statuses': {'href': 'https://api.github.com/repos/creatorpiyush/fictional-carnival/statuses/6c744d101182030723eb3a188d379c23c78e971f'}},\n",
       "    'author_association': 'NONE',\n",
       "    'auto_merge': None,\n",
       "    'active_lock_reason': None,\n",
       "    'merged': False,\n",
       "    'mergeable': True,\n",
       "    'rebaseable': True,\n",
       "    'mergeable_state': 'clean',\n",
       "    'merged_by': None,\n",
       "    'comments': 0,\n",
       "    'review_comments': 0,\n",
       "    'maintainer_can_modify': False,\n",
       "    'commits': 1,\n",
       "    'additions': 79,\n",
       "    'deletions': 48,\n",
       "    'changed_files': 2}},\n",
       "  'public': True,\n",
       "  'created_at': '2022-03-10T10:07:37Z'},\n",
       " {'id': '20676880248',\n",
       "  'type': 'PushEvent',\n",
       "  'actor': {'id': 50326448,\n",
       "   'login': 'xyj1020',\n",
       "   'display_login': 'xyj1020',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/users/xyj1020',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/50326448?'},\n",
       "  'repo': {'id': 462559157,\n",
       "   'name': 'xyj1020/gold-miner',\n",
       "   'url': 'https://api.github.com/repos/xyj1020/gold-miner'},\n",
       "  'payload': {'push_id': 9314622167,\n",
       "   'size': 1,\n",
       "   'distinct_size': 1,\n",
       "   'ref': 'refs/heads/translation/console',\n",
       "   'head': 'b4ae2f06f24051eceb7f5613f706161c2fdab4d1',\n",
       "   'before': '84bbea1d62a4775d113ebb84a5ac45226618c5b4',\n",
       "   'commits': [{'sha': 'b4ae2f06f24051eceb7f5613f706161c2fdab4d1',\n",
       "     'author': {'email': '50326448+xyj1020@users.noreply.github.com',\n",
       "      'name': 'jjCatherine'},\n",
       "     'message': '为什么 console.log() 会返回 ‘undefined’？\\n\\n针对第一版校对意见，修改完成。',\n",
       "     'distinct': True,\n",
       "     'url': 'https://api.github.com/repos/xyj1020/gold-miner/commits/b4ae2f06f24051eceb7f5613f706161c2fdab4d1'}]},\n",
       "  'public': True,\n",
       "  'created_at': '2022-03-10T10:07:37Z'},\n",
       " {'id': '20676880269',\n",
       "  'type': 'GollumEvent',\n",
       "  'actor': {'id': 29664888,\n",
       "   'login': 'kode2go',\n",
       "   'display_login': 'kode2go',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/users/kode2go',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/29664888?'},\n",
       "  'repo': {'id': 468206259,\n",
       "   'name': 'kode2go/django-part2',\n",
       "   'url': 'https://api.github.com/repos/kode2go/django-part2'},\n",
       "  'payload': {'pages': [{'page_name': 'Lesson-3.3---User-Permissions-and-Authentication',\n",
       "     'title': 'Lesson 3.3   User Permissions and Authentication',\n",
       "     'summary': None,\n",
       "     'action': 'created',\n",
       "     'sha': '2ab68dfeeb91ff42af4b9dd67fab413b200c4645',\n",
       "     'html_url': 'https://github.com/kode2go/django-part2/wiki/Lesson-3.3---User-Permissions-and-Authentication'}]},\n",
       "  'public': True,\n",
       "  'created_at': '2022-03-10T10:07:37Z'},\n",
       " {'id': '20676879876',\n",
       "  'type': 'PullRequestReviewCommentEvent',\n",
       "  'actor': {'id': 1745006,\n",
       "   'login': 'jsafrane',\n",
       "   'display_login': 'jsafrane',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/users/jsafrane',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/1745006?'},\n",
       "  'repo': {'id': 203647456,\n",
       "   'name': 'openshift/enhancements',\n",
       "   'url': 'https://api.github.com/repos/openshift/enhancements'},\n",
       "  'payload': {'action': 'created',\n",
       "   'comment': {'url': 'https://api.github.com/repos/openshift/enhancements/pulls/comments/823521799',\n",
       "    'pull_request_review_id': 905557965,\n",
       "    'id': 823521799,\n",
       "    'node_id': 'PRRC_kwDODCNp4M4xFfIH',\n",
       "    'diff_hunk': '@@ -0,0 +1,407 @@\\n+---\\n+title: shared-resource-validation\\n+authors:\\n+  - \"@gabemontero\"\\n+reviewers:\\n+  - \"@deads2k\"\\n+  - \"@jsafrane\"\\n+  - \"@adambkaplan\"\\n+  - \"@coreydaley\"\\n+  - Barnaby Court\\n+  - Chris Snyder\\n+approvers:\\n+  - \"@deads2k\"\\n+  - \"@jsafrane\"\\n+  - \"@adambkaplan\"\\n+api-approvers: # in case of new or modified APIs or API extensions (CRDs, aggregated apiservers, webhooks, finalizers)\\n+  - \"@deads2k\"\\n+creation-date: 2022-03-08\\n+last-updated: 2022-03-08\\n+tracking-link: # link to the tracking ticket (for example: Jira Feature or Epic ticket) that corresponds to this enhancement\\n+  - https://issues.redhat.com/browse/BUILD-406\\n+see-also:\\n+  - \"/enhancements/cluster-scope-secret-volumes/csi-driver-host-injections.md\"\\n+replaces:\\n+  - \"N/A\"\\n+superseded-by:\\n+  - \"N/A\"\\n+---\\n+\\n+# Shared Resource Validation\\n+\\n+## Summary\\n+\\n+This Enhancement Proposal details improvements to existing validations currently performed, as well as the introduction\\n+of new validations to be performed, on artifacts related to the Shared Resource CSI Driver and Operator component introduced \\n+as Tech Preview in 4.10.  As a quick reminder, the associated API for \"Shared Resources\", namely SharedSecrets and SharedConfigMaps, are \\n+cluster scoped objects whose referenced namespace scoped Secrets and Configmaps are mounted into Pod Spec\\'able objects\\n+via use of the associated Shared Resource CSI Driver.\\n+\\n+With the introduction of the Shared Resources API in 4.10, any restrictions around use of the new CRDs or the declaring\\n+of Volumes using the new Driver in Pods, was done at the CSI Driver level.  That is often not the \\n+most efficient location to enforce such restrictions, as the entire Kubelet provisioning path for the Pod must be exercised \\n+for the error to be caught.  Also, the user does not learn of the error upon creation of the Pod Spec\\'able object.\\n+Instead, the user must inspect Pod status and Events to learn of the problem.\\n+\\n+This proposal intends to improve on the usability around error discovery by employing validations called during API object\\n+creation and modification.\\n+\\n+## Motivation\\n+\\n+### Goals\\n+\\n+- Ensure names of pre-supplied SharedSecrets and SharedConfigMaps by OCP components will not conflict with any SharedSecrets or SharedConfigMaps created by users.\\n+- Whenever possible prevent unsupported use of read-write volumes, as well as any future restrictions around the CSI Volume API or Shared Resource API\\n+- Provide pluggable means of validation of the associated Secrets and ConfigMaps of SharedSecrets and SharedConfigMaps.\\n+\\n+And provide validation failures on API object creation/modification for each of these whenever possible.\\n+\\n+### Non-Goals\\n+\\n+\\n+## Proposal\\n+\\n+See upstream doc \\n+[https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#validatingadmissionwebhook](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#validatingadmissionwebhook)\\n+for explanation of `ValidationAdmissionWebhooks`\\n+\\n+We will employ this plug point for inserting the code that performs any validations added.\\n+\\n+### User Stories\\n+\\n+As a developer using the Shared Resource CSI Driver\\n+I want validation for `readOnly: true` to be set on volumes for the Shared Resource CSI Driver to occur prior\\n+to the Pod Spec\\'able object getting persisted to etcd, so that pods are not stuck in \"Creating\" state waiting for a mount that will never succeed.\\n+Rather, I learn of the problem on the API Object PUT/POST.\\n+\\n+As an OpenShift operator maintainer or cluster administrator\\n+I want to reserve the `openshift-` prefix for SharedSecrets and SharedConfigMaps\\n+so that future OpenShift operators can create system-level shared resources and not have name conflicts \\n+with items created by OCP users.\\n+\\n+As a developer, OpenShift operator maintainer, or cluster administrator\\n+I want options that verify the Secret or ConfigMap content in a SharedSecret or SharedConfigMap is \"valid\" for \\n+any of the \"well known\" SharedSecrets or SharedConfigMaps that OCP could pre-populate the cluster with (entitlement\\n+secret for example).\\n+\\n+As a developer using the Shared Resource CSI Driver I want any validations to be provisioned and lifecycled in as much\\n+as possible the same fashion as the driver itself for consistency (i.e. via Cluster Storage Operator).\\n+\\n+As a developer or administrator using the Shared Resource CSI Driver I want sufficient metrics on the validations\\' prevention of incorrect Pods,\\n+SharedConfigMaps, and SharedSecrets, as a means of understanding the need for correcting misuse..\\n+\\n+As a developer or administrator using the Shared Resource CSI Driver I want necessary debug of the validation mechanism to be captured by\\n+OCP must-gather process.\\n+\\n+\\n+### API Extensions\\n+\\n+Quick note:  When discussing API, \\'Shared Resource\\' on its own == SharedConfigMap / SharedSecret, and \\'Reference\\' == the corresponding\\n+Secret or ConfigMap.\\n+\\n+A [ValidatingAdmissionWebhook](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#validatingadmissionwebhook)\\n+will be used to inspect all created/modified Shared Resources, and make sure their names do not start\\n+with the reserved prefix \"openshift-\" unless their Shared Resource name and Reference key are found in a \\n+well known list of OCP pre-populated Shared Resource.  That list will be in well known ConfigMaps that resides \\n+in the managed CSI Driver namespace.  Components / operators other than Shared Resources that want to create pre-populated\\n+SharedSecrets or SharedConfigMaps should submit PRs against the Shared Resource CSI Driver Operator Repo to update the \\n+corresponding ConfigMap with the necessary information.  This is akin to how we create in-payload image streams via the PRs against the \\n+samples operator today.\\n+\\n+There will be a \"ocp-sharedsecret-list\" and \"ocp-sharedconfigmap-list\" ConfigMap.  The key of an entry is the Shared Resource\\n+name.  The value should be of the form \"namespace:name\" in order to capture. \\n+\\n+The \"openshift-*\" naming restriction is new as compared to the initial tech preview release of Shared Resources in 4.10.\\n+\\n+A ValidatingAdmissionWebhook will be used to inspect all created Pods, and k8s Pod derived types (Deployments, DaemonSets, etc.), \\n+as well Builds and BuildConfigs, and make sure no read-write Shared Resource CSI Volumes are specified.',\n",
       "    'path': 'enhancements/cluster-scope-secret-volumes/shared-resource-validation.md',\n",
       "    'position': 117,\n",
       "    'original_position': 117,\n",
       "    'commit_id': '80333a250ea26ecb91a5550859d5faa102db39e5',\n",
       "    'original_commit_id': '80333a250ea26ecb91a5550859d5faa102db39e5',\n",
       "    'user': {'login': 'jsafrane',\n",
       "     'id': 1745006,\n",
       "     'node_id': 'MDQ6VXNlcjE3NDUwMDY=',\n",
       "     'avatar_url': 'https://avatars.githubusercontent.com/u/1745006?v=4',\n",
       "     'gravatar_id': '',\n",
       "     'url': 'https://api.github.com/users/jsafrane',\n",
       "     'html_url': 'https://github.com/jsafrane',\n",
       "     'followers_url': 'https://api.github.com/users/jsafrane/followers',\n",
       "     'following_url': 'https://api.github.com/users/jsafrane/following{/other_user}',\n",
       "     'gists_url': 'https://api.github.com/users/jsafrane/gists{/gist_id}',\n",
       "     'starred_url': 'https://api.github.com/users/jsafrane/starred{/owner}{/repo}',\n",
       "     'subscriptions_url': 'https://api.github.com/users/jsafrane/subscriptions',\n",
       "     'organizations_url': 'https://api.github.com/users/jsafrane/orgs',\n",
       "     'repos_url': 'https://api.github.com/users/jsafrane/repos',\n",
       "     'events_url': 'https://api.github.com/users/jsafrane/events{/privacy}',\n",
       "     'received_events_url': 'https://api.github.com/users/jsafrane/received_events',\n",
       "     'type': 'User',\n",
       "     'site_admin': False},\n",
       "    'body': \"I think it would be more comfortable to users if the webhook was mutating, injecting `readOnly: true` to all shared resource volume mounts. A Pod without it won't start anyway.\",\n",
       "    'created_at': '2022-03-10T09:36:07Z',\n",
       "    'updated_at': '2022-03-10T10:07:35Z',\n",
       "    'html_url': 'https://github.com/openshift/enhancements/pull/1056#discussion_r823521799',\n",
       "    'pull_request_url': 'https://api.github.com/repos/openshift/enhancements/pulls/1056',\n",
       "    'author_association': 'CONTRIBUTOR',\n",
       "    '_links': {'self': {'href': 'https://api.github.com/repos/openshift/enhancements/pulls/comments/823521799'},\n",
       "     'html': {'href': 'https://github.com/openshift/enhancements/pull/1056#discussion_r823521799'},\n",
       "     'pull_request': {'href': 'https://api.github.com/repos/openshift/enhancements/pulls/1056'}},\n",
       "    'reactions': {'url': 'https://api.github.com/repos/openshift/enhancements/pulls/comments/823521799/reactions',\n",
       "     'total_count': 0,\n",
       "     '+1': 0,\n",
       "     '-1': 0,\n",
       "     'laugh': 0,\n",
       "     'hooray': 0,\n",
       "     'confused': 0,\n",
       "     'heart': 0,\n",
       "     'rocket': 0,\n",
       "     'eyes': 0},\n",
       "    'start_line': 116,\n",
       "    'original_start_line': 116,\n",
       "    'start_side': 'RIGHT',\n",
       "    'line': 117,\n",
       "    'original_line': 117,\n",
       "    'side': 'RIGHT'},\n",
       "   'pull_request': {'url': 'https://api.github.com/repos/openshift/enhancements/pulls/1056',\n",
       "    'id': 874600113,\n",
       "    'node_id': 'PR_kwDODCNp4M40IVax',\n",
       "    'html_url': 'https://github.com/openshift/enhancements/pull/1056',\n",
       "    'diff_url': 'https://github.com/openshift/enhancements/pull/1056.diff',\n",
       "    'patch_url': 'https://github.com/openshift/enhancements/pull/1056.patch',\n",
       "    'issue_url': 'https://api.github.com/repos/openshift/enhancements/issues/1056',\n",
       "    'number': 1056,\n",
       "    'state': 'open',\n",
       "    'locked': False,\n",
       "    'title': 'BUILD-406: shared resource validating admission EP',\n",
       "    'user': {'login': 'gabemontero',\n",
       "     'id': 3594868,\n",
       "     'node_id': 'MDQ6VXNlcjM1OTQ4Njg=',\n",
       "     'avatar_url': 'https://avatars.githubusercontent.com/u/3594868?v=4',\n",
       "     'gravatar_id': '',\n",
       "     'url': 'https://api.github.com/users/gabemontero',\n",
       "     'html_url': 'https://github.com/gabemontero',\n",
       "     'followers_url': 'https://api.github.com/users/gabemontero/followers',\n",
       "     'following_url': 'https://api.github.com/users/gabemontero/following{/other_user}',\n",
       "     'gists_url': 'https://api.github.com/users/gabemontero/gists{/gist_id}',\n",
       "     'starred_url': 'https://api.github.com/users/gabemontero/starred{/owner}{/repo}',\n",
       "     'subscriptions_url': 'https://api.github.com/users/gabemontero/subscriptions',\n",
       "     'organizations_url': 'https://api.github.com/users/gabemontero/orgs',\n",
       "     'repos_url': 'https://api.github.com/users/gabemontero/repos',\n",
       "     'events_url': 'https://api.github.com/users/gabemontero/events{/privacy}',\n",
       "     'received_events_url': 'https://api.github.com/users/gabemontero/received_events',\n",
       "     'type': 'User',\n",
       "     'site_admin': False},\n",
       "    'body': 'EP that stems from early testing and demoing of the use of RHEL entitlements in OpenShift Builds via the new Shared Resources CSI Driver and Controller, which is tech preview in 4.10\\r\\n\\r\\nThis EP proscribes 3 major validations around the creation/modification of SharedConfigMaps and SharedSecrets, as well as the use of CSI volumes provisioned by the Shared Resource CSI Driver, via new k8s ValidatingAdmissionWebhooks.\\r\\n\\r\\nWhile similar validations currently or will exist in the controller / CSI driver, use of the webhook provides better usability when dealing with violations of the validations.',\n",
       "    'created_at': '2022-03-08T21:16:09Z',\n",
       "    'updated_at': '2022-03-10T10:07:35Z',\n",
       "    'closed_at': None,\n",
       "    'merged_at': None,\n",
       "    'merge_commit_sha': '4207f30c407fc4bf14b59d77af46edcc496a2945',\n",
       "    'assignee': {'login': 'adambkaplan',\n",
       "     'id': 1538838,\n",
       "     'node_id': 'MDQ6VXNlcjE1Mzg4Mzg=',\n",
       "     'avatar_url': 'https://avatars.githubusercontent.com/u/1538838?v=4',\n",
       "     'gravatar_id': '',\n",
       "     'url': 'https://api.github.com/users/adambkaplan',\n",
       "     'html_url': 'https://github.com/adambkaplan',\n",
       "     'followers_url': 'https://api.github.com/users/adambkaplan/followers',\n",
       "     'following_url': 'https://api.github.com/users/adambkaplan/following{/other_user}',\n",
       "     'gists_url': 'https://api.github.com/users/adambkaplan/gists{/gist_id}',\n",
       "     'starred_url': 'https://api.github.com/users/adambkaplan/starred{/owner}{/repo}',\n",
       "     'subscriptions_url': 'https://api.github.com/users/adambkaplan/subscriptions',\n",
       "     'organizations_url': 'https://api.github.com/users/adambkaplan/orgs',\n",
       "     'repos_url': 'https://api.github.com/users/adambkaplan/repos',\n",
       "     'events_url': 'https://api.github.com/users/adambkaplan/events{/privacy}',\n",
       "     'received_events_url': 'https://api.github.com/users/adambkaplan/received_events',\n",
       "     'type': 'User',\n",
       "     'site_admin': False},\n",
       "    'assignees': [{'login': 'adambkaplan',\n",
       "      'id': 1538838,\n",
       "      'node_id': 'MDQ6VXNlcjE1Mzg4Mzg=',\n",
       "      'avatar_url': 'https://avatars.githubusercontent.com/u/1538838?v=4',\n",
       "      'gravatar_id': '',\n",
       "      'url': 'https://api.github.com/users/adambkaplan',\n",
       "      'html_url': 'https://github.com/adambkaplan',\n",
       "      'followers_url': 'https://api.github.com/users/adambkaplan/followers',\n",
       "      'following_url': 'https://api.github.com/users/adambkaplan/following{/other_user}',\n",
       "      'gists_url': 'https://api.github.com/users/adambkaplan/gists{/gist_id}',\n",
       "      'starred_url': 'https://api.github.com/users/adambkaplan/starred{/owner}{/repo}',\n",
       "      'subscriptions_url': 'https://api.github.com/users/adambkaplan/subscriptions',\n",
       "      'organizations_url': 'https://api.github.com/users/adambkaplan/orgs',\n",
       "      'repos_url': 'https://api.github.com/users/adambkaplan/repos',\n",
       "      'events_url': 'https://api.github.com/users/adambkaplan/events{/privacy}',\n",
       "      'received_events_url': 'https://api.github.com/users/adambkaplan/received_events',\n",
       "      'type': 'User',\n",
       "      'site_admin': False},\n",
       "     {'login': 'jsafrane',\n",
       "      'id': 1745006,\n",
       "      'node_id': 'MDQ6VXNlcjE3NDUwMDY=',\n",
       "      'avatar_url': 'https://avatars.githubusercontent.com/u/1745006?v=4',\n",
       "      'gravatar_id': '',\n",
       "      'url': 'https://api.github.com/users/jsafrane',\n",
       "      'html_url': 'https://github.com/jsafrane',\n",
       "      'followers_url': 'https://api.github.com/users/jsafrane/followers',\n",
       "      'following_url': 'https://api.github.com/users/jsafrane/following{/other_user}',\n",
       "      'gists_url': 'https://api.github.com/users/jsafrane/gists{/gist_id}',\n",
       "      'starred_url': 'https://api.github.com/users/jsafrane/starred{/owner}{/repo}',\n",
       "      'subscriptions_url': 'https://api.github.com/users/jsafrane/subscriptions',\n",
       "      'organizations_url': 'https://api.github.com/users/jsafrane/orgs',\n",
       "      'repos_url': 'https://api.github.com/users/jsafrane/repos',\n",
       "      'events_url': 'https://api.github.com/users/jsafrane/events{/privacy}',\n",
       "      'received_events_url': 'https://api.github.com/users/jsafrane/received_events',\n",
       "      'type': 'User',\n",
       "      'site_admin': False},\n",
       "     {'login': 'coreydaley',\n",
       "      'id': 5060301,\n",
       "      'node_id': 'MDQ6VXNlcjUwNjAzMDE=',\n",
       "      'avatar_url': 'https://avatars.githubusercontent.com/u/5060301?v=4',\n",
       "      'gravatar_id': '',\n",
       "      'url': 'https://api.github.com/users/coreydaley',\n",
       "      'html_url': 'https://github.com/coreydaley',\n",
       "      'followers_url': 'https://api.github.com/users/coreydaley/followers',\n",
       "      'following_url': 'https://api.github.com/users/coreydaley/following{/other_user}',\n",
       "      'gists_url': 'https://api.github.com/users/coreydaley/gists{/gist_id}',\n",
       "      'starred_url': 'https://api.github.com/users/coreydaley/starred{/owner}{/repo}',\n",
       "      'subscriptions_url': 'https://api.github.com/users/coreydaley/subscriptions',\n",
       "      'organizations_url': 'https://api.github.com/users/coreydaley/orgs',\n",
       "      'repos_url': 'https://api.github.com/users/coreydaley/repos',\n",
       "      'events_url': 'https://api.github.com/users/coreydaley/events{/privacy}',\n",
       "      'received_events_url': 'https://api.github.com/users/coreydaley/received_events',\n",
       "      'type': 'User',\n",
       "      'site_admin': False},\n",
       "     {'login': 'deads2k',\n",
       "      'id': 8225098,\n",
       "      'node_id': 'MDQ6VXNlcjgyMjUwOTg=',\n",
       "      'avatar_url': 'https://avatars.githubusercontent.com/u/8225098?v=4',\n",
       "      'gravatar_id': '',\n",
       "      'url': 'https://api.github.com/users/deads2k',\n",
       "      'html_url': 'https://github.com/deads2k',\n",
       "      'followers_url': 'https://api.github.com/users/deads2k/followers',\n",
       "      'following_url': 'https://api.github.com/users/deads2k/following{/other_user}',\n",
       "      'gists_url': 'https://api.github.com/users/deads2k/gists{/gist_id}',\n",
       "      'starred_url': 'https://api.github.com/users/deads2k/starred{/owner}{/repo}',\n",
       "      'subscriptions_url': 'https://api.github.com/users/deads2k/subscriptions',\n",
       "      'organizations_url': 'https://api.github.com/users/deads2k/orgs',\n",
       "      'repos_url': 'https://api.github.com/users/deads2k/repos',\n",
       "      'events_url': 'https://api.github.com/users/deads2k/events{/privacy}',\n",
       "      'received_events_url': 'https://api.github.com/users/deads2k/received_events',\n",
       "      'type': 'User',\n",
       "      'site_admin': False}],\n",
       "    'requested_reviewers': [{'login': 'stevekuznetsov',\n",
       "      'id': 7328370,\n",
       "      'node_id': 'MDQ6VXNlcjczMjgzNzA=',\n",
       "      'avatar_url': 'https://avatars.githubusercontent.com/u/7328370?v=4',\n",
       "      'gravatar_id': '',\n",
       "      'url': 'https://api.github.com/users/stevekuznetsov',\n",
       "      'html_url': 'https://github.com/stevekuznetsov',\n",
       "      'followers_url': 'https://api.github.com/users/stevekuznetsov/followers',\n",
       "      'following_url': 'https://api.github.com/users/stevekuznetsov/following{/other_user}',\n",
       "      'gists_url': 'https://api.github.com/users/stevekuznetsov/gists{/gist_id}',\n",
       "      'starred_url': 'https://api.github.com/users/stevekuznetsov/starred{/owner}{/repo}',\n",
       "      'subscriptions_url': 'https://api.github.com/users/stevekuznetsov/subscriptions',\n",
       "      'organizations_url': 'https://api.github.com/users/stevekuznetsov/orgs',\n",
       "      'repos_url': 'https://api.github.com/users/stevekuznetsov/repos',\n",
       "      'events_url': 'https://api.github.com/users/stevekuznetsov/events{/privacy}',\n",
       "      'received_events_url': 'https://api.github.com/users/stevekuznetsov/received_events',\n",
       "      'type': 'User',\n",
       "      'site_admin': False},\n",
       "     {'login': 'tjungblu',\n",
       "      'id': 85170409,\n",
       "      'node_id': 'MDQ6VXNlcjg1MTcwNDA5',\n",
       "      'avatar_url': 'https://avatars.githubusercontent.com/u/85170409?v=4',\n",
       "      'gravatar_id': '',\n",
       "      'url': 'https://api.github.com/users/tjungblu',\n",
       "      'html_url': 'https://github.com/tjungblu',\n",
       "      'followers_url': 'https://api.github.com/users/tjungblu/followers',\n",
       "      'following_url': 'https://api.github.com/users/tjungblu/following{/other_user}',\n",
       "      'gists_url': 'https://api.github.com/users/tjungblu/gists{/gist_id}',\n",
       "      'starred_url': 'https://api.github.com/users/tjungblu/starred{/owner}{/repo}',\n",
       "      'subscriptions_url': 'https://api.github.com/users/tjungblu/subscriptions',\n",
       "      'organizations_url': 'https://api.github.com/users/tjungblu/orgs',\n",
       "      'repos_url': 'https://api.github.com/users/tjungblu/repos',\n",
       "      'events_url': 'https://api.github.com/users/tjungblu/events{/privacy}',\n",
       "      'received_events_url': 'https://api.github.com/users/tjungblu/received_events',\n",
       "      'type': 'User',\n",
       "      'site_admin': False}],\n",
       "    'requested_teams': [],\n",
       "    'labels': [],\n",
       "    'milestone': None,\n",
       "    'draft': False,\n",
       "    'commits_url': 'https://api.github.com/repos/openshift/enhancements/pulls/1056/commits',\n",
       "    'review_comments_url': 'https://api.github.com/repos/openshift/enhancements/pulls/1056/comments',\n",
       "    'review_comment_url': 'https://api.github.com/repos/openshift/enhancements/pulls/comments{/number}',\n",
       "    'comments_url': 'https://api.github.com/repos/openshift/enhancements/issues/1056/comments',\n",
       "    'statuses_url': 'https://api.github.com/repos/openshift/enhancements/statuses/80333a250ea26ecb91a5550859d5faa102db39e5',\n",
       "    'head': {'label': 'gabemontero:shared-resource-validations',\n",
       "     'ref': 'shared-resource-validations',\n",
       "     'sha': '80333a250ea26ecb91a5550859d5faa102db39e5',\n",
       "     'user': {'login': 'gabemontero',\n",
       "      'id': 3594868,\n",
       "      'node_id': 'MDQ6VXNlcjM1OTQ4Njg=',\n",
       "      'avatar_url': 'https://avatars.githubusercontent.com/u/3594868?v=4',\n",
       "      'gravatar_id': '',\n",
       "      'url': 'https://api.github.com/users/gabemontero',\n",
       "      'html_url': 'https://github.com/gabemontero',\n",
       "      'followers_url': 'https://api.github.com/users/gabemontero/followers',\n",
       "      'following_url': 'https://api.github.com/users/gabemontero/following{/other_user}',\n",
       "      'gists_url': 'https://api.github.com/users/gabemontero/gists{/gist_id}',\n",
       "      'starred_url': 'https://api.github.com/users/gabemontero/starred{/owner}{/repo}',\n",
       "      'subscriptions_url': 'https://api.github.com/users/gabemontero/subscriptions',\n",
       "      'organizations_url': 'https://api.github.com/users/gabemontero/orgs',\n",
       "      'repos_url': 'https://api.github.com/users/gabemontero/repos',\n",
       "      'events_url': 'https://api.github.com/users/gabemontero/events{/privacy}',\n",
       "      'received_events_url': 'https://api.github.com/users/gabemontero/received_events',\n",
       "      'type': 'User',\n",
       "      'site_admin': False},\n",
       "     'repo': {'id': 209791239,\n",
       "      'node_id': 'MDEwOlJlcG9zaXRvcnkyMDk3OTEyMzk=',\n",
       "      'name': 'enhancements',\n",
       "      'full_name': 'gabemontero/enhancements',\n",
       "      'private': False,\n",
       "      'owner': {'login': 'gabemontero',\n",
       "       'id': 3594868,\n",
       "       'node_id': 'MDQ6VXNlcjM1OTQ4Njg=',\n",
       "       'avatar_url': 'https://avatars.githubusercontent.com/u/3594868?v=4',\n",
       "       'gravatar_id': '',\n",
       "       'url': 'https://api.github.com/users/gabemontero',\n",
       "       'html_url': 'https://github.com/gabemontero',\n",
       "       'followers_url': 'https://api.github.com/users/gabemontero/followers',\n",
       "       'following_url': 'https://api.github.com/users/gabemontero/following{/other_user}',\n",
       "       'gists_url': 'https://api.github.com/users/gabemontero/gists{/gist_id}',\n",
       "       'starred_url': 'https://api.github.com/users/gabemontero/starred{/owner}{/repo}',\n",
       "       'subscriptions_url': 'https://api.github.com/users/gabemontero/subscriptions',\n",
       "       'organizations_url': 'https://api.github.com/users/gabemontero/orgs',\n",
       "       'repos_url': 'https://api.github.com/users/gabemontero/repos',\n",
       "       'events_url': 'https://api.github.com/users/gabemontero/events{/privacy}',\n",
       "       'received_events_url': 'https://api.github.com/users/gabemontero/received_events',\n",
       "       'type': 'User',\n",
       "       'site_admin': False},\n",
       "      'html_url': 'https://github.com/gabemontero/enhancements',\n",
       "      'description': 'Enhancements tracking repository for OKD',\n",
       "      'fork': True,\n",
       "      'url': 'https://api.github.com/repos/gabemontero/enhancements',\n",
       "      'forks_url': 'https://api.github.com/repos/gabemontero/enhancements/forks',\n",
       "      'keys_url': 'https://api.github.com/repos/gabemontero/enhancements/keys{/key_id}',\n",
       "      'collaborators_url': 'https://api.github.com/repos/gabemontero/enhancements/collaborators{/collaborator}',\n",
       "      'teams_url': 'https://api.github.com/repos/gabemontero/enhancements/teams',\n",
       "      'hooks_url': 'https://api.github.com/repos/gabemontero/enhancements/hooks',\n",
       "      'issue_events_url': 'https://api.github.com/repos/gabemontero/enhancements/issues/events{/number}',\n",
       "      'events_url': 'https://api.github.com/repos/gabemontero/enhancements/events',\n",
       "      'assignees_url': 'https://api.github.com/repos/gabemontero/enhancements/assignees{/user}',\n",
       "      'branches_url': 'https://api.github.com/repos/gabemontero/enhancements/branches{/branch}',\n",
       "      'tags_url': 'https://api.github.com/repos/gabemontero/enhancements/tags',\n",
       "      'blobs_url': 'https://api.github.com/repos/gabemontero/enhancements/git/blobs{/sha}',\n",
       "      'git_tags_url': 'https://api.github.com/repos/gabemontero/enhancements/git/tags{/sha}',\n",
       "      'git_refs_url': 'https://api.github.com/repos/gabemontero/enhancements/git/refs{/sha}',\n",
       "      'trees_url': 'https://api.github.com/repos/gabemontero/enhancements/git/trees{/sha}',\n",
       "      'statuses_url': 'https://api.github.com/repos/gabemontero/enhancements/statuses/{sha}',\n",
       "      'languages_url': 'https://api.github.com/repos/gabemontero/enhancements/languages',\n",
       "      'stargazers_url': 'https://api.github.com/repos/gabemontero/enhancements/stargazers',\n",
       "      'contributors_url': 'https://api.github.com/repos/gabemontero/enhancements/contributors',\n",
       "      'subscribers_url': 'https://api.github.com/repos/gabemontero/enhancements/subscribers',\n",
       "      'subscription_url': 'https://api.github.com/repos/gabemontero/enhancements/subscription',\n",
       "      'commits_url': 'https://api.github.com/repos/gabemontero/enhancements/commits{/sha}',\n",
       "      'git_commits_url': 'https://api.github.com/repos/gabemontero/enhancements/git/commits{/sha}',\n",
       "      'comments_url': 'https://api.github.com/repos/gabemontero/enhancements/comments{/number}',\n",
       "      'issue_comment_url': 'https://api.github.com/repos/gabemontero/enhancements/issues/comments{/number}',\n",
       "      'contents_url': 'https://api.github.com/repos/gabemontero/enhancements/contents/{+path}',\n",
       "      'compare_url': 'https://api.github.com/repos/gabemontero/enhancements/compare/{base}...{head}',\n",
       "      'merges_url': 'https://api.github.com/repos/gabemontero/enhancements/merges',\n",
       "      'archive_url': 'https://api.github.com/repos/gabemontero/enhancements/{archive_format}{/ref}',\n",
       "      'downloads_url': 'https://api.github.com/repos/gabemontero/enhancements/downloads',\n",
       "      'issues_url': 'https://api.github.com/repos/gabemontero/enhancements/issues{/number}',\n",
       "      'pulls_url': 'https://api.github.com/repos/gabemontero/enhancements/pulls{/number}',\n",
       "      'milestones_url': 'https://api.github.com/repos/gabemontero/enhancements/milestones{/number}',\n",
       "      'notifications_url': 'https://api.github.com/repos/gabemontero/enhancements/notifications{?since,all,participating}',\n",
       "      'labels_url': 'https://api.github.com/repos/gabemontero/enhancements/labels{/name}',\n",
       "      'releases_url': 'https://api.github.com/repos/gabemontero/enhancements/releases{/id}',\n",
       "      'deployments_url': 'https://api.github.com/repos/gabemontero/enhancements/deployments',\n",
       "      'created_at': '2019-09-20T12:58:09Z',\n",
       "      'updated_at': '2021-10-06T18:39:11Z',\n",
       "      'pushed_at': '2022-03-08T21:32:38Z',\n",
       "      'git_url': 'git://github.com/gabemontero/enhancements.git',\n",
       "      'ssh_url': 'git@github.com:gabemontero/enhancements.git',\n",
       "      'clone_url': 'https://github.com/gabemontero/enhancements.git',\n",
       "      'svn_url': 'https://github.com/gabemontero/enhancements',\n",
       "      'homepage': None,\n",
       "      'size': 7087,\n",
       "      'stargazers_count': 0,\n",
       "      'watchers_count': 0,\n",
       "      'language': 'Go',\n",
       "      'has_issues': False,\n",
       "      'has_projects': True,\n",
       "      'has_downloads': True,\n",
       "      'has_wiki': True,\n",
       "      'has_pages': False,\n",
       "      'forks_count': 0,\n",
       "      'mirror_url': None,\n",
       "      'archived': False,\n",
       "      'disabled': False,\n",
       "      'open_issues_count': 0,\n",
       "      'license': {'key': 'apache-2.0',\n",
       "       'name': 'Apache License 2.0',\n",
       "       'spdx_id': 'Apache-2.0',\n",
       "       'url': 'https://api.github.com/licenses/apache-2.0',\n",
       "       'node_id': 'MDc6TGljZW5zZTI='},\n",
       "      'allow_forking': True,\n",
       "      'is_template': False,\n",
       "      'topics': [],\n",
       "      'visibility': 'public',\n",
       "      'forks': 0,\n",
       "      'open_issues': 0,\n",
       "      'watchers': 0,\n",
       "      'default_branch': 'master'}},\n",
       "    'base': {'label': 'openshift:master',\n",
       "     'ref': 'master',\n",
       "     'sha': '9b58c7a0d2b9fc2ea150218f9caa7654a9781f59',\n",
       "     'user': {'login': 'openshift',\n",
       "      'id': 792337,\n",
       "      'node_id': 'MDEyOk9yZ2FuaXphdGlvbjc5MjMzNw==',\n",
       "      'avatar_url': 'https://avatars.githubusercontent.com/u/792337?v=4',\n",
       "      'gravatar_id': '',\n",
       "      'url': 'https://api.github.com/users/openshift',\n",
       "      'html_url': 'https://github.com/openshift',\n",
       "      'followers_url': 'https://api.github.com/users/openshift/followers',\n",
       "      'following_url': 'https://api.github.com/users/openshift/following{/other_user}',\n",
       "      'gists_url': 'https://api.github.com/users/openshift/gists{/gist_id}',\n",
       "      'starred_url': 'https://api.github.com/users/openshift/starred{/owner}{/repo}',\n",
       "      'subscriptions_url': 'https://api.github.com/users/openshift/subscriptions',\n",
       "      'organizations_url': 'https://api.github.com/users/openshift/orgs',\n",
       "      'repos_url': 'https://api.github.com/users/openshift/repos',\n",
       "      'events_url': 'https://api.github.com/users/openshift/events{/privacy}',\n",
       "      'received_events_url': 'https://api.github.com/users/openshift/received_events',\n",
       "      'type': 'Organization',\n",
       "      'site_admin': False},\n",
       "     'repo': {'id': 203647456,\n",
       "      'node_id': 'MDEwOlJlcG9zaXRvcnkyMDM2NDc0NTY=',\n",
       "      'name': 'enhancements',\n",
       "      'full_name': 'openshift/enhancements',\n",
       "      'private': False,\n",
       "      'owner': {'login': 'openshift',\n",
       "       'id': 792337,\n",
       "       'node_id': 'MDEyOk9yZ2FuaXphdGlvbjc5MjMzNw==',\n",
       "       'avatar_url': 'https://avatars.githubusercontent.com/u/792337?v=4',\n",
       "       'gravatar_id': '',\n",
       "       'url': 'https://api.github.com/users/openshift',\n",
       "       'html_url': 'https://github.com/openshift',\n",
       "       'followers_url': 'https://api.github.com/users/openshift/followers',\n",
       "       'following_url': 'https://api.github.com/users/openshift/following{/other_user}',\n",
       "       'gists_url': 'https://api.github.com/users/openshift/gists{/gist_id}',\n",
       "       'starred_url': 'https://api.github.com/users/openshift/starred{/owner}{/repo}',\n",
       "       'subscriptions_url': 'https://api.github.com/users/openshift/subscriptions',\n",
       "       'organizations_url': 'https://api.github.com/users/openshift/orgs',\n",
       "       'repos_url': 'https://api.github.com/users/openshift/repos',\n",
       "       'events_url': 'https://api.github.com/users/openshift/events{/privacy}',\n",
       "       'received_events_url': 'https://api.github.com/users/openshift/received_events',\n",
       "       'type': 'Organization',\n",
       "       'site_admin': False},\n",
       "      'html_url': 'https://github.com/openshift/enhancements',\n",
       "      'description': 'Enhancements tracking repository for OKD',\n",
       "      'fork': False,\n",
       "      'url': 'https://api.github.com/repos/openshift/enhancements',\n",
       "      'forks_url': 'https://api.github.com/repos/openshift/enhancements/forks',\n",
       "      'keys_url': 'https://api.github.com/repos/openshift/enhancements/keys{/key_id}',\n",
       "      'collaborators_url': 'https://api.github.com/repos/openshift/enhancements/collaborators{/collaborator}',\n",
       "      'teams_url': 'https://api.github.com/repos/openshift/enhancements/teams',\n",
       "      'hooks_url': 'https://api.github.com/repos/openshift/enhancements/hooks',\n",
       "      'issue_events_url': 'https://api.github.com/repos/openshift/enhancements/issues/events{/number}',\n",
       "      'events_url': 'https://api.github.com/repos/openshift/enhancements/events',\n",
       "      'assignees_url': 'https://api.github.com/repos/openshift/enhancements/assignees{/user}',\n",
       "      'branches_url': 'https://api.github.com/repos/openshift/enhancements/branches{/branch}',\n",
       "      'tags_url': 'https://api.github.com/repos/openshift/enhancements/tags',\n",
       "      'blobs_url': 'https://api.github.com/repos/openshift/enhancements/git/blobs{/sha}',\n",
       "      'git_tags_url': 'https://api.github.com/repos/openshift/enhancements/git/tags{/sha}',\n",
       "      'git_refs_url': 'https://api.github.com/repos/openshift/enhancements/git/refs{/sha}',\n",
       "      'trees_url': 'https://api.github.com/repos/openshift/enhancements/git/trees{/sha}',\n",
       "      'statuses_url': 'https://api.github.com/repos/openshift/enhancements/statuses/{sha}',\n",
       "      'languages_url': 'https://api.github.com/repos/openshift/enhancements/languages',\n",
       "      'stargazers_url': 'https://api.github.com/repos/openshift/enhancements/stargazers',\n",
       "      'contributors_url': 'https://api.github.com/repos/openshift/enhancements/contributors',\n",
       "      'subscribers_url': 'https://api.github.com/repos/openshift/enhancements/subscribers',\n",
       "      'subscription_url': 'https://api.github.com/repos/openshift/enhancements/subscription',\n",
       "      'commits_url': 'https://api.github.com/repos/openshift/enhancements/commits{/sha}',\n",
       "      'git_commits_url': 'https://api.github.com/repos/openshift/enhancements/git/commits{/sha}',\n",
       "      'comments_url': 'https://api.github.com/repos/openshift/enhancements/comments{/number}',\n",
       "      'issue_comment_url': 'https://api.github.com/repos/openshift/enhancements/issues/comments{/number}',\n",
       "      'contents_url': 'https://api.github.com/repos/openshift/enhancements/contents/{+path}',\n",
       "      'compare_url': 'https://api.github.com/repos/openshift/enhancements/compare/{base}...{head}',\n",
       "      'merges_url': 'https://api.github.com/repos/openshift/enhancements/merges',\n",
       "      'archive_url': 'https://api.github.com/repos/openshift/enhancements/{archive_format}{/ref}',\n",
       "      'downloads_url': 'https://api.github.com/repos/openshift/enhancements/downloads',\n",
       "      'issues_url': 'https://api.github.com/repos/openshift/enhancements/issues{/number}',\n",
       "      'pulls_url': 'https://api.github.com/repos/openshift/enhancements/pulls{/number}',\n",
       "      'milestones_url': 'https://api.github.com/repos/openshift/enhancements/milestones{/number}',\n",
       "      'notifications_url': 'https://api.github.com/repos/openshift/enhancements/notifications{?since,all,participating}',\n",
       "      'labels_url': 'https://api.github.com/repos/openshift/enhancements/labels{/name}',\n",
       "      'releases_url': 'https://api.github.com/repos/openshift/enhancements/releases{/id}',\n",
       "      'deployments_url': 'https://api.github.com/repos/openshift/enhancements/deployments',\n",
       "      'created_at': '2019-08-21T19:02:57Z',\n",
       "      'updated_at': '2022-01-25T15:23:05Z',\n",
       "      'pushed_at': '2022-03-10T09:44:49Z',\n",
       "      'git_url': 'git://github.com/openshift/enhancements.git',\n",
       "      'ssh_url': 'git@github.com:openshift/enhancements.git',\n",
       "      'clone_url': 'https://github.com/openshift/enhancements.git',\n",
       "      'svn_url': 'https://github.com/openshift/enhancements',\n",
       "      'homepage': None,\n",
       "      'size': 7121,\n",
       "      'stargazers_count': 121,\n",
       "      'watchers_count': 121,\n",
       "      'language': 'Go',\n",
       "      'has_issues': True,\n",
       "      'has_projects': True,\n",
       "      'has_downloads': True,\n",
       "      'has_wiki': True,\n",
       "      'has_pages': False,\n",
       "      'forks_count': 334,\n",
       "      'mirror_url': None,\n",
       "      'archived': False,\n",
       "      'disabled': False,\n",
       "      'open_issues_count': 44,\n",
       "      'license': {'key': 'apache-2.0',\n",
       "       'name': 'Apache License 2.0',\n",
       "       'spdx_id': 'Apache-2.0',\n",
       "       'url': 'https://api.github.com/licenses/apache-2.0',\n",
       "       'node_id': 'MDc6TGljZW5zZTI='},\n",
       "      'allow_forking': True,\n",
       "      'is_template': False,\n",
       "      'topics': [],\n",
       "      'visibility': 'public',\n",
       "      'forks': 334,\n",
       "      'open_issues': 44,\n",
       "      'watchers': 121,\n",
       "      'default_branch': 'master'}},\n",
       "    '_links': {'self': {'href': 'https://api.github.com/repos/openshift/enhancements/pulls/1056'},\n",
       "     'html': {'href': 'https://github.com/openshift/enhancements/pull/1056'},\n",
       "     'issue': {'href': 'https://api.github.com/repos/openshift/enhancements/issues/1056'},\n",
       "     'comments': {'href': 'https://api.github.com/repos/openshift/enhancements/issues/1056/comments'},\n",
       "     'review_comments': {'href': 'https://api.github.com/repos/openshift/enhancements/pulls/1056/comments'},\n",
       "     'review_comment': {'href': 'https://api.github.com/repos/openshift/enhancements/pulls/comments{/number}'},\n",
       "     'commits': {'href': 'https://api.github.com/repos/openshift/enhancements/pulls/1056/commits'},\n",
       "     'statuses': {'href': 'https://api.github.com/repos/openshift/enhancements/statuses/80333a250ea26ecb91a5550859d5faa102db39e5'}},\n",
       "    'author_association': 'CONTRIBUTOR',\n",
       "    'auto_merge': None,\n",
       "    'active_lock_reason': None}},\n",
       "  'public': True,\n",
       "  'created_at': '2022-03-10T09:36:07Z',\n",
       "  'org': {'id': 792337,\n",
       "   'login': 'openshift',\n",
       "   'gravatar_id': '',\n",
       "   'url': 'https://api.github.com/orgs/openshift',\n",
       "   'avatar_url': 'https://avatars.githubusercontent.com/u/792337?'}}]"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r.json()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "21503542",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'id': '20676880376',\n",
       " 'type': 'PushEvent',\n",
       " 'actor': {'id': 49183386,\n",
       "  'login': 'mjpernot',\n",
       "  'display_login': 'mjpernot',\n",
       "  'gravatar_id': '',\n",
       "  'url': 'https://api.github.com/users/mjpernot',\n",
       "  'avatar_url': 'https://avatars.githubusercontent.com/u/49183386?'},\n",
       " 'repo': {'id': 452721170,\n",
       "  'name': 'mjpernot/mongo-lib',\n",
       "  'url': 'https://api.github.com/repos/mjpernot/mongo-lib'},\n",
       " 'payload': {'push_id': 9314622257,\n",
       "  'size': 1,\n",
       "  'distinct_size': 1,\n",
       "  'ref': 'refs/heads/mod/421c1',\n",
       "  'head': '3825b74c2b80730aea7bbdc6d88cf786b622abae',\n",
       "  'before': '2ba0cc6e6eb3c3b03d82c5716635cae390e7ac02',\n",
       "  'commits': [{'sha': '3825b74c2b80730aea7bbdc6d88cf786b622abae',\n",
       "    'author': {'email': 'mark.pernot@gmail.com', 'name': 'Mark Pernot'},\n",
       "    'message': 'Update Jenkinsfile v4.2.1',\n",
       "    'distinct': True,\n",
       "    'url': 'https://api.github.com/repos/mjpernot/mongo-lib/commits/3825b74c2b80730aea7bbdc6d88cf786b622abae'}]},\n",
       " 'public': True,\n",
       " 'created_at': '2022-03-10T10:07:37Z'}"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "first = r.json()[0]\n",
    "first"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "643d33dd",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'20676880376'"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 打印id\n",
    "first[\"id\"]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aa80f707",
   "metadata": {},
   "source": [
    "## payload\n",
    "- 作为请求输入的数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "711d98a9",
   "metadata": {},
   "outputs": [],
   "source": [
    "payload = {\n",
    "    \"username\": \"ahu\",\n",
    "    \"password\": 123456789\n",
    "}\n",
    "r = requests.get(\"http://httpbin.org/get\", params = payload)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "d49d5f6b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'http://httpbin.org/get?username=ahu&password=123456789'"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r.url"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "4c41f84f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Response [200]>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "0dbc70db",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "b'{\\n  \"args\": {\\n    \"password\": \"123456789\", \\n    \"username\": \"ahu\"\\n  }, \\n  \"headers\": {\\n    \"Accept\": \"*/*\", \\n    \"Accept-Encoding\": \"gzip, deflate\", \\n    \"Host\": \"httpbin.org\", \\n    \"User-Agent\": \"python-requests/2.25.1\", \\n    \"X-Amzn-Trace-Id\": \"Root=1-6229cf22-109569a93c6501332428f863\"\\n  }, \\n  \"origin\": \"120.85.42.8\", \\n  \"url\": \"http://httpbin.org/get?username=ahu&password=123456789\"\\n}\\n'"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r.content"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "d7b1e922",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'args': {'password': '123456789', 'username': 'ahu'},\n",
       " 'headers': {'Accept': '*/*',\n",
       "  'Accept-Encoding': 'gzip, deflate',\n",
       "  'Host': 'httpbin.org',\n",
       "  'User-Agent': 'python-requests/2.25.1',\n",
       "  'X-Amzn-Trace-Id': 'Root=1-6229cf22-109569a93c6501332428f863'},\n",
       " 'origin': '120.85.42.8',\n",
       " 'url': 'http://httpbin.org/get?username=ahu&password=123456789'}"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r.json()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "40309be9",
   "metadata": {},
   "source": [
    "# 实践"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8ca915b2",
   "metadata": {},
   "source": [
    "## 人脸检测API"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "3e0cff4e",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 导入模块\n",
    "import requests\n",
    "\n",
    "# api接口\n",
    "api_key = \"dAyJdlVlkTKc2PHaDc_Qoc-5NXTWZEx-\"\n",
    "api_secret = \"ue8dzp1KefHMSLYWXP3ExZLKELfoBOEp\"\n",
    "\n",
    "# 人脸检测url\n",
    "base_url = \"https://api-cn.faceplusplus.com/facepp/v3/detect\"\n",
    "\n",
    "# 请求方法 POST\n",
    "\n",
    "# 准备请求参数\n",
    "payload = {\n",
    "    \"api_key\": api_key,\n",
    "    \"api_secret\": api_secret,\n",
    "    \"image_url\": \"https://tse1-mm.cn.bing.net/th/id/R-C.8e6b487f104aff918a9dd7355f13b30e?rik=r1yuKEM0tFIlCQ&riu=http%3a%2f%2fphotocdn.sohu.com%2f20150506%2fmp13947466_1430911858375_1_th.jpeg&ehk=fJHA8bjypWMM1XKekrMhFTdq%2b1H3n6Y8LIe6uIU59rQ%3d&risl=&pid=ImgRaw&r=0\",\n",
    "#     \"return_landmark\": 1,\n",
    "    \"return_attributes\": \"gender,smiling,beauty,emotion,age\"\n",
    "}\n",
    "\n",
    "# 请求数据\n",
    "r = requests.post(base_url, payload)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "1b64f73b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Response [200]>"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "b1240da7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "b'{\"request_id\":\"1646907171,a5b5e6c1-d720-4db2-89f0-461f64d03f3c\",\"time_used\":1066,\"faces\":[{\"face_token\":\"467b30fdea6873cfc4d1713d99eb49ba\",\"face_rectangle\":{\"top\":150,\"left\":37,\"width\":504,\"height\":504},\"attributes\":{\"gender\":{\"value\":\"Female\"},\"age\":{\"value\":22},\"smile\":{\"value\":0.000,\"threshold\":50.000},\"emotion\":{\"anger\":0.000,\"disgust\":0.000,\"fear\":0.000,\"happiness\":0.000,\"neutral\":99.991,\"sadness\":0.003,\"surprise\":0.006},\"beauty\":{\"male_score\":88.584,\"female_score\":90.818}}}],\"image_id\":\"uiO6rgveTHT53QVPkBoC4w==\",\"face_num\":1}\\n'"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r.content"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "3ff0193b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'request_id': '1646907171,a5b5e6c1-d720-4db2-89f0-461f64d03f3c',\n",
       " 'time_used': 1066,\n",
       " 'faces': [{'face_token': '467b30fdea6873cfc4d1713d99eb49ba',\n",
       "   'face_rectangle': {'top': 150, 'left': 37, 'width': 504, 'height': 504},\n",
       "   'attributes': {'gender': {'value': 'Female'},\n",
       "    'age': {'value': 22},\n",
       "    'smile': {'value': 0.0, 'threshold': 50.0},\n",
       "    'emotion': {'anger': 0.0,\n",
       "     'disgust': 0.0,\n",
       "     'fear': 0.0,\n",
       "     'happiness': 0.0,\n",
       "     'neutral': 99.991,\n",
       "     'sadness': 0.003,\n",
       "     'surprise': 0.006},\n",
       "    'beauty': {'male_score': 88.584, 'female_score': 90.818}}}],\n",
       " 'image_id': 'uiO6rgveTHT53QVPkBoC4w==',\n",
       " 'face_num': 1}"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r.json()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "4ce72778",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'time_used': 100,\n",
       " 'error_message': 'FACESET_EXIST',\n",
       " 'request_id': '1646907172,18477975-d0b0-4400-8745-b967e60d6f44'}"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 人脸集合\n",
    "\n",
    "import requests,json\n",
    "\n",
    "api_key = \"dAyJdlVlkTKc2PHaDc_Qoc-5NXTWZEx-\"\n",
    "api_secret = \"ue8dzp1KefHMSLYWXP3ExZLKELfoBOEp\"\n",
    " \n",
    "display_name = \"人脸集合\"\n",
    "outer_id = \"face09\"\n",
    "user_data = \"人脸测试\"\n",
    "\n",
    "CreateFace_Url = \"https://api-cn.faceplusplus.com/facepp/v3/faceset/create\"\n",
    "\n",
    "payload = {\n",
    "    \"api_key\": api_key,\n",
    "    \"api_secret\": api_secret,\n",
    "    \"display_name\":display_name,\n",
    "    \"outer_id\":outer_id,\n",
    "    \"user_data\":user_data\n",
    "}\n",
    "r = requests.post(CreateFace_Url, params=payload)\n",
    "r.json()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "80335e6f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'faceset_token': '0387d9794143c1e290e34a7110138c66',\n",
       " 'time_used': 85,\n",
       " 'face_count': 1,\n",
       " 'face_added': 0,\n",
       " 'request_id': '1646907173,1df7cf01-1292-4378-b690-625b8cf0fbf8',\n",
       " 'outer_id': 'face09',\n",
       " 'failure_detail': []}"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 添加人脸\n",
    "AddFace_url = \" https://api-cn.faceplusplus.com/facepp/v3/faceset/addface\"\n",
    "\n",
    "payload = {\n",
    "    \"api_key\": api_key,\n",
    "    \"api_secret\": api_secret,\n",
    "    \"faceset_token\":\"0387d9794143c1e290e34a7110138c66\",     # 选取上面面部结合的faceset_token\n",
    "    \"face_tokens\":\"f6b81010e924a3264647db11dea8c8e9\",       # 选取面部识别的第一张face—_tokens\n",
    "}\n",
    "r = requests.post(AddFace_url,params=payload)\n",
    "r.json()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "4af5e6b7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "b'{\"request_id\":\"1646908169,967d9654-76b3-4130-8123-2c9cbddde9ce\",\"time_used\":1956,\"confidence\":53.496,\"thresholds\":{\"1e-3\":62.327,\"1e-4\":69.101,\"1e-5\":73.975},\"faces1\":[{\"face_token\":\"c75c0180144f6f506e278cb6a5552468\",\"face_rectangle\":{\"top\":133,\"left\":285,\"width\":897,\"height\":897}}],\"faces2\":[{\"face_token\":\"d9416b4891008d0c86df2d09d24f5a45\",\"face_rectangle\":{\"top\":501,\"left\":1199,\"width\":127,\"height\":127}},{\"face_token\":\"a0e6504c6ba878ecd994f633a7103383\",\"face_rectangle\":{\"top\":316,\"left\":550,\"width\":127,\"height\":127}},{\"face_token\":\"d9f2d6eab315538b12088ddfd6e453be\",\"face_rectangle\":{\"top\":295,\"left\":215,\"width\":95,\"height\":95}},{\"face_token\":\"2944db0b2493cfd65aa937c80b77b855\",\"face_rectangle\":{\"top\":171,\"left\":1099,\"width\":92,\"height\":92}}],\"image_id1\":\"UrT7CWZ56kSkbzHHwU270g==\",\"image_id2\":\"kXgYO0CaeWJezfjeJayRwA==\"}\\n'"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 人脸直接比对\n",
    "\n",
    "# 准备两张人脸图片URL\n",
    "face01 = \"https://cdn.pixabay.com/photo/2018/01/21/14/16/woman-3096664_1280.jpg\"\n",
    "face02 = \"https://cdn.pixabay.com/photo/2017/06/18/18/26/holi-2416686_1280.jpg\"\n",
    "\n",
    "# 导入模块\n",
    "import requests\n",
    "\n",
    "Compare_url = \"https://api-cn.faceplusplus.com/facepp/v3/compare\"\n",
    "\n",
    "payload ={\n",
    "    \"api_key\": \"dAyJdlVlkTKc2PHaDc_Qoc-5NXTWZEx-\",\n",
    "    \"api_secret\": \"ue8dzp1KefHMSLYWXP3ExZLKELfoBOEp\",\n",
    "    \"image_url1\":face01,\n",
    "    \"image_url2\":face02\n",
    "}\n",
    "r = requests.post(Compare_url,params=payload)\n",
    "r.content"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "id": "e0774946",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'request_id': '1646908169,967d9654-76b3-4130-8123-2c9cbddde9ce',\n",
       " 'time_used': 1956,\n",
       " 'confidence': 53.496,\n",
       " 'thresholds': {'1e-3': 62.327, '1e-4': 69.101, '1e-5': 73.975},\n",
       " 'faces1': [{'face_token': 'c75c0180144f6f506e278cb6a5552468',\n",
       "   'face_rectangle': {'top': 133, 'left': 285, 'width': 897, 'height': 897}}],\n",
       " 'faces2': [{'face_token': 'd9416b4891008d0c86df2d09d24f5a45',\n",
       "   'face_rectangle': {'top': 501, 'left': 1199, 'width': 127, 'height': 127}},\n",
       "  {'face_token': 'a0e6504c6ba878ecd994f633a7103383',\n",
       "   'face_rectangle': {'top': 316, 'left': 550, 'width': 127, 'height': 127}},\n",
       "  {'face_token': 'd9f2d6eab315538b12088ddfd6e453be',\n",
       "   'face_rectangle': {'top': 295, 'left': 215, 'width': 95, 'height': 95}},\n",
       "  {'face_token': '2944db0b2493cfd65aa937c80b77b855',\n",
       "   'face_rectangle': {'top': 171, 'left': 1099, 'width': 92, 'height': 92}}],\n",
       " 'image_id1': 'UrT7CWZ56kSkbzHHwU270g==',\n",
       " 'image_id2': 'kXgYO0CaeWJezfjeJayRwA=='}"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r.json()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "91aedc5e",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "50b49e2b",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.8"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  },
  "varInspector": {
   "cols": {
    "lenName": 16,
    "lenType": 16,
    "lenVar": 40
   },
   "kernels_config": {
    "python": {
     "delete_cmd_postfix": "",
     "delete_cmd_prefix": "del ",
     "library": "var_list.py",
     "varRefreshCmd": "print(var_dic_list())"
    },
    "r": {
     "delete_cmd_postfix": ") ",
     "delete_cmd_prefix": "rm(",
     "library": "var_list.r",
     "varRefreshCmd": "cat(var_dic_list()) "
    }
   },
   "types_to_exclude": [
    "module",
    "function",
    "builtin_function_or_method",
    "instance",
    "_Feature"
   ],
   "window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
